Mover ponto + detecção de bordas + pontuação.
// Pinagem Consola
// Joystick X → P0, Y → P1, BTN → P2
// Campainha → P3 (music)
let px = 2, py = 2, pontos = 0
let alvox = Math.randomRange(0,4), alvoy = Math.randomRange(0,4)
basic.forever(function() {
let x = pins.analogReadPin(AnalogPin.P0)
let y = pins.analogReadPin(AnalogPin.P1)
// Mover com zona morta central
if (x < 460 && px > 0) px--
if (x > 560 && px < 4) px++
if (y > 560 && py > 0) py--
if (y < 460 && py < 4) py++
// Apanhar alvo
if (px == alvox && py == alvoy) {
pontos++
music.playTone(1200, 100)
alvox = Math.randomRange(0,4)
alvoy = Math.randomRange(0,4)
}
// Mostrar jogo
basic.clearScreen()
led.plot(px, py) // Jogador
led.plot(alvox, alvoy) // Alvo
// Botão → mostrar pontos
if (pins.digitalReadPin(DigitalPin.P2) == 1) {
basic.showNumber(pontos)
}
basic.pause(120)
})