Nota

Ciao, benvenuto nella Community di SunFounder per appassionati di Raspberry Pi, Arduino ed ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirti?

  • Supporto Esperto: Risolvi i problemi post-vendita e le sfide tecniche con l’aiuto della nostra comunità e del nostro team.

  • Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.

  • Anteprime Esclusive: Ottieni l’accesso anticipato agli annunci di nuovi prodotti e alle anteprime.

  • Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni Festive e Giveaway: Partecipa a promozioni festive e concorsi con premi.

👉 Sei pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi!

2.18 GIOCO - Breakout Clone

Qui utilizziamo un potenziometro per giocare a un gioco clone di Breakout.

Dopo aver cliccato sulla bandiera verde, dovrai usare il potenziometro per controllare la paletta sul palco e catturare la pallina, così da farla rimbalzare verso l’alto e colpire i mattoni. Quando tutti i mattoni spariscono, il gioco è vinto, se non catturi la pallina, il gioco è perso.

../_images/17_brick.png

Componenti Necessari

In questo progetto, ci servono i seguenti componenti.

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

COMPONENTI NEL KIT

LINK

Kit Starter 3 in 1

380+

3 in 1 Starter Kit

Puoi anche acquistarli separatamente dai link qui sotto.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

Scheda SunFounder R3

ACQUISTA

Breadboard

ACQUISTA

Cavi di Collegamento

ACQUISTA

Potenziometro

ACQUISTA

Costruire il Circuito

Il potenziometro è un elemento resistivo con 3 terminali, i due pin laterali sono collegati a 5V e GND, mentre il pin centrale è collegato ad A0. Dopo la conversione tramite il convertitore ADC della scheda Arduino, l’intervallo di valori è 0-1023.

../_images/potentiometer_circuit.png

Programmazione

Ci sono 3 sprite sul palco.

1. Sprite Paddle

L’effetto da ottenere con lo sprite Paddle è che la sua posizione iniziale si trovi al centro della parte inferiore del palco e sia controllata da un potenziometro per spostarla a sinistra o a destra.

  • Elimina lo sprite predefinito, utilizza il pulsante Scegli uno Sprite per aggiungere lo sprite Paddle e imposta la sua x e y a (0, -140).

../_images/17_padd1.png
  • Vai alla pagina Costumi, rimuovi il contorno e cambia il colore in grigio scuro.

../_images/17_padd3.png
  • Ora scrivi lo script per lo sprite Paddle impostando la sua posizione iniziale a (0, -140) quando viene cliccata la bandiera verde, e leggi il valore di A0 (potenziometro) nella variabile a0. Poiché lo sprite Paddle si muove da sinistra a destra con coordinate x comprese tra -195 e 195, devi usare il blocco [mappa] per mappare l’intervallo della variabile a0 da 0-1023 a -195-195.

../_images/17_padd2.png
  • Ora puoi ruotare il potenziometro per vedere se lo sprite Paddle si muove a sinistra e a destra sul palco.

2. Sprite Ball

L’effetto da ottenere con lo sprite Ball è che si muova intorno al palco rimbalzando quando tocca il bordo; rimbalza verso il basso se colpisce il blocco sopra il palco; rimbalza verso l’alto se tocca lo sprite Paddle durante la sua caduta; se non lo tocca, lo script si ferma e il gioco termina.

  • Aggiungi lo sprite Ball.

../_images/17_ball1.png
  • Quando viene cliccata la bandiera verde, imposta l’angolo dello sprite Ball a 45° e imposta la posizione iniziale a (0, -120).

../_images/17_ball2.png
  • Ora fai muovere lo sprite Ball intorno al palco e fallo rimbalzare quando tocca il bordo; puoi cliccare sulla bandiera verde per vedere l’effetto.

../_images/17_ball3.png
  • Quando lo sprite Ball tocca lo sprite Paddle, effettua un riflesso. Il modo semplice per farlo è invertire direttamente l’angolo, ma poi noterai che il percorso della pallina è completamente fisso, il che è noioso. Pertanto, utilizziamo il centro dei due sprite per calcolare e far rimbalzare la pallina nella direzione opposta al centro della paletta.

../_images/17_ball4.png ../_images/17_ball6.png
  • Quando lo sprite Ball cade al bordo del palco, lo script si interrompe e il gioco termina.

../_images/17_ball5.png

3. Sprite Block1

L’effetto da ottenere con lo sprite Block1 è di clonarsi 4x8 sopra il palco con un colore casuale, e cancellare un clone se viene toccato dallo sprite Ball.

Lo sprite Block1 non è disponibile nella libreria PictoBlox, devi disegnarlo da solo o modificarne uno esistente. Qui modificheremo lo sprite Button3.

  • Dopo aver aggiunto lo sprite Button3, vai alla pagina Costumi. Ora elimina prima button-a, quindi riduci sia la larghezza che l’altezza di button-b e rinomina lo sprite in Block1, come mostrato nell’immagine seguente.

Nota

  • Per la larghezza di Block1, puoi simulare lo spazio sullo schermo per verificare se riesci a posizionare 8 blocchi in fila, se non ci riesci, riduci la larghezza di conseguenza.

  • Durante il processo di riduzione dello sprite Block1, devi mantenere il punto centrale al centro dello sprite.

../_images/17_bri2.png
  • Ora crea prima 2 variabili, block per memorizzare il numero di blocchi e roll per memorizzare il numero di righe.

../_images/17_bri3.png
  • Dobbiamo clonare lo sprite Block1, in modo che venga visualizzato da sinistra a destra, dall’alto verso il basso, uno per uno, 4x8 in totale, con colori casuali.

../_images/17_bri4.png
  • Dopo aver scritto lo script, clicca sulla bandiera verde e guarda la visualizzazione sul palco, se è troppo compatto o troppo piccolo, puoi modificare la dimensione.

../_images/17_bri5.png
  • Ora scrivi l’evento di attivazione. Se il clone dello sprite Block1 tocca lo sprite Ball, elimina il clone e trasmetti il messaggio crush.

../_images/17_bri6.png
  • Torna allo sprite Ball, quando viene ricevuto il messaggio di trasmissione crush (lo sprite Ball tocca il clone dello sprite Block1), la pallina rimbalza nella direzione opposta.

../_images/17_ball7.png