Sommario:

Qual è il pensiero bit? Crea un semplice gioco di ipotesi con BBC Microbit!: 10 passaggi
Qual è il pensiero bit? Crea un semplice gioco di ipotesi con BBC Microbit!: 10 passaggi

Video: Qual è il pensiero bit? Crea un semplice gioco di ipotesi con BBC Microbit!: 10 passaggi

Video: Qual è il pensiero bit? Crea un semplice gioco di ipotesi con BBC Microbit!: 10 passaggi
Video: Emanuele Micheli, “Fare buon uso della robotica educativa” - Webinar IDEA del 13 maggio 2019 2024, Dicembre
Anonim
Qual è il pensiero bit? Crea un semplice gioco di ipotesi con BBC Microbit!
Qual è il pensiero bit? Crea un semplice gioco di ipotesi con BBC Microbit!

Ho preso un paio di BBC Microbit dopo aver letto recensioni positive su di loro in diversi articoli online.

Nel tentativo di familiarizzare con il BIT, ho giocato con l'editor di blocchi Microsoft online per un paio d'ore e ho inventato un semplice gioco di ipotesi.

In questo IBLE parleremo delle regole del gioco e navigheremo attraverso le funzioni assemblate in diversi blocchi di codice nell'Editor dei blocchi.

Infine, il pubblico entusiasta può accedere al simulatore online e provare questo semplice gioco.

Iniziamo.

Passaggio 1: prima di iniziare…

Prima di iniziare…
Prima di iniziare…
Prima di iniziare…
Prima di iniziare…

L'hardware

È facile familiarizzare con la scheda BBC Microbit. Per questo IBLE, tutto ciò che devi sapere è che è una piccola scheda con 2 pulsanti, una serie di minuscoli LED e una presa micro-USB che funge da alimentatore e mezzo per caricare un programma sulla scheda.

La serie di minuscoli LED può essere programmata per illuminarsi in diversi modelli.

Nota:

Non hai bisogno della scheda fisica per questo IBLE! Il sito della BBC Microbit ha un simulatore online per testare il codice sviluppato online.

Il software

Questo IBLE non entra nei dettagli su come iniziare con BBC Microbit e/o l'editor di blocchi online.

Il pubblico è incoraggiato a esplorare questa risorsa della BBC Micorbit prima di procedere ai passaggi successivi.

BBC Microbit è stato progettato per insegnare la programmazione utilizzando un approccio molto intuitivo e quindi la familiarità con un altro linguaggio di programmazione è piacevole da avere, ma non è necessaria soprattutto se utilizzerai Microsoft Blocks Editor per imparare a programmare.

Tuttavia, non ho ancora incontrato un prodotto con cui sia facile iniziare come BBC Microbit, dato che possiedo e gioco con diverse altre piattaforme di programmazione di microcontrollori.

Fase 2: Regole del gioco di indovinare

Regole dell'Indovinello
Regole dell'Indovinello

Le regole del gioco sono le seguenti:

  1. All'accensione, il BIT pensa a un numero e sfida il giocatore umano a indovinare quale sia quel numero stampando un messaggio sul suo pannello LED e attende una risposta
  2. Il giocatore fa un'ipotesi e preme il pulsante sinistro (A) tante volte quanto la risposta - Esempio, se il giocatore ha indovinato 5, il pulsante viene premuto 5 volte
  3. Per inviare la risposta al BIT, il giocatore preme il pulsante destro (B) una volta!
  4. Se i giocatori indovinano, allora il giocatore ottiene un punto, in caso contrario il BIT ottiene un punto
  5. Se un giocatore ha indovinato un numero al di fuori dell'intervallo, l'altro giocatore ottiene un punto: il BIT visualizza una grande X sul suo display a LED e procede a indovinare un nuovo numero e ripetere la sfida; Esempio: se il BIT ti ha sfidato a indovinare un numero compreso tra 1 e 5 e hai indovinato 6, o se hai indovinato ZERO (semplicemente premendo il pulsante B prima di premere il pulsante A), quel round è invalidato
  6. La sfida-risposta continua fino a quando uno dei giocatori ottiene il punteggio massimo consentito

Iniziare un nuovo gioco:

Per iniziare una nuova partita in qualsiasi momento, basta scuotere il BIT! Oppure, semplicemente scollegare e ricollegare l'alimentazione.

Passaggio 3: il programma a blocchi: variabili

Il Programma Blocchi: Variabili
Il Programma Blocchi: Variabili

Il programma utilizza alcune variabili denominate in modo che corrispondano alle loro funzioni elencate di seguito. Queste variabili possono essere create facendo clic sulla scheda Programmazione variabili nell'editor dei blocchi

BIT_SCORE - Tiene traccia dei punti segnati dal BIT

bitGuessed - Questa variabile contiene il valore casuale indovinato dal BIT

CHECK - quando è impostato su True, il BIT controlla se i giocatori indovinano è uguale all'ipotesi dei BIT

GAME_RANGE - Questo numero limita quanto in alto il BIT o un giocatore può indovinare

Esempio: se impostato su 6, entrambi i giocatori possono indovinare da 1 a 6

MSG - Una stringa che viene modificata per visualizzare messaggi diversi in base al contesto del gioco

PLAYER_SCORE - tiene traccia dei punti segnati dal giocatore

playerGuess - Il numero indovinato dal giocatore è registrato in questa variabile

NOTA

La primissima variabile denominata item è una variabile generale e predefinita e può essere ignorata

Passaggio 4: le funzioni

Le funzioni
Le funzioni

Come parte del processo di apprendimento e per una migliore organizzazione, il codice è stato organizzato in una serie di funzioni che possono essere chiamate o invocate nel programma principale. Proprio come le variabili, è possibile creare e accedere alle funzioni facendo clic sulla scheda Avanzate > Programmazione funzioni.

Di seguito una breve descrizione delle funzioni:

annunciaWinner - Questa funzione stampa il messaggio di vincita indirizzato al giocatore vincitore

doChallenge - La funzione che il BIT chiama per indovinare un numero e lanciare una sfida al giocatore

showBadGuess - Visualizza un messaggio con un'enorme X sul pannello LED se uno dei giocatori ha indovinato al di fuori dell'intervallo consentito

showLose - viene chiamato se il BIT vince un round di sfida sul giocatore

showMessage - presenta un messaggio per sfidare il giocatore a indovinare un numero all'interno di un intervallo impostato

showWin - viene chiamato quando il giocatore vince il giro di ipotesi sul BIT

Passaggio 5: l'avvio del programma e gli eventi Shake e i gestori di eventi

L'avvio del programma e gli eventi Shake e gestori di eventi
L'avvio del programma e gli eventi Shake e gestori di eventi

"on start" e "on shake" sono gestori di eventi che vengono chiamati rispettivamente quando si verificano l'evento "start" e gli eventi "shake". Come si vede dal codice Blocks, ciò che accade quando vengono chiamati questi due gestori di eventi è quasi lo stesso di:

  • La funzione showMessage() viene chiamata per visualizzare il messaggio all'inizio del gioco
  • C'è una breve pausa di 650 millisecondi dopo la visualizzazione del messaggio
  • Viene chiamata la funzione doChallenge() in cui il BIT indovina un numero e aspetta che il giocatore umano invii un'ipotesi

Tratteremo le due funzioni nel passaggio successivo.

Detto questo, ci sono differenze fondamentali tra i gestori di eventi "on start" e "on shake":

  1. Il gestore di eventi "on start" viene eseguito ogni volta che il BIT viene avviato, come quando si scollega e ricollega l'alimentazione al BIT
  2. Certe cose che devono succedere solo una volta all'avvio del programma sono definite in "on start" e da nessun'altra parte nell'intero programma
  3. Una di queste è l'inizializzazione della variabile GAME_RANGE - in questo caso, è inizializzata su 6, il che significa che i giocatori possono indovinare un numero compreso tra 1 e 6
  4. Poiché "on start" è una funzione BIT di base, non c'è da meravigliarsi che sia accessibile dalla scheda Programmazione di base dell'editor dei blocchi
  5. L'"on shake" d'altra parte è un gestore di eventi che viene chiamato ogni volta che l'utente fornisce un input al BIT sotto forma di un rapido shake
  6. Pertanto, il gestore di eventi "on shake" può essere trovato all'interno della scheda Input programming dell'Editor dei blocchi

Passaggio 6: il messaggio di avvio e le funzioni di sfida

Il messaggio di avvio e le funzioni di sfida
Il messaggio di avvio e le funzioni di sfida
Il messaggio di avvio e le funzioni di sfida
Il messaggio di avvio e le funzioni di sfida
Il messaggio di avvio e le funzioni di sfida
Il messaggio di avvio e le funzioni di sfida

La funzione showMessage() Startup Message è una semplice funzione che cancella la tavolozza LED dei BIT con un comando a schermo chiaro e visualizza un messaggio a scorrimento che sfida il giocatore a indovinare un numero.

Come si vede dal blocco funzione showMessage, un paio di stringhe fisse vengono aggiunte insieme alla variabile GAME_RANGE per visualizzare un semplice messaggio che dice:

Indovina 0 - 6!

La funzione doChallenge() viene chiamata all'inizio di ogni round di sfida, e quindi fa quanto segue come visto dal blocco funzione doChallenge:

  1. Inizializza la variabile playerGuess a zero prima di accettare un nuovo input dal giocatore umano
  2. Inizializza la variabile CHECK su false, il che significa che il round sta per iniziare e non è ancora il momento di confrontare i numeri indovinati da entrambi i giocatori
  3. Successivamente, e più significativo, il BIT sceglie un numero casuale all'interno dell'intervallo definito da GAME_RANGE e lo registra nella variabile bitGuessed
  4. Infine, la tavolozza LED è illuminata con un simbolo di punto interrogativo che richiede al giocatore umano un input in risposta alla sfida BIT!

Nota

Se il valore della variabile GAME_RANGE viene modificato come discusso nel passaggio precedente, il tuo gioco potrebbe apparire e agire in modo leggermente diverso.

La funzione di unione è una funzione di stringa ed è accessibile dalla scheda Programmazione testo dell'editor dei blocchi

Passaggio 7: L'evento Button a Click - Rispondi alla sfida BITs

L'evento Button a Click - Rispondi alla sfida BITs!
L'evento Button a Click - Rispondi alla sfida BITs!

Una volta che il grande punto interrogativo appare sullo schermo LED del BIT, rispondere alla sfida per il giocatore umano è semplicemente fare quanto segue:

  1. Indovina quale numero potrebbe pensare il BIT tra 0 e 6
  2. Premi il pulsante A tante volte quanto è la tua risposta - Esempio se la tua risposta è 3, quindi premi il pulsante A 3 volte

Ovviamente, la pressione del pulsante è un input dell'utente e quindi il gestore dell'evento "on button" è accessibile tramite la scheda Programmazione input dell'editor Blocchi. Ogni volta che l'utente preme il pulsante A, questo gestore di eventi esegue le seguenti operazioni:

  • Incrementa il valore della variabile playerGuess di 1 finché è entro il limite GAME_RANGE (6 in questo caso)
  • Se il giocatore invia 7 o più, l'ipotesi viene invalidata e playerGuess viene reimpostato a Zero, sostanzialmente invalidando l'ipotesi del giocatore

L'azione successiva consiste nell'inviare la risposta alla sfida, che esamineremo nel passaggio successivo.

Passaggio 8: il pulsante B Click Event - Invia risposta alla sfida BITs

Il pulsante B Click Event - Invia risposta alla sfida BITs!
Il pulsante B Click Event - Invia risposta alla sfida BITs!
Il pulsante B Click Event - Invia risposta alla sfida BITs!
Il pulsante B Click Event - Invia risposta alla sfida BITs!

Il giocatore umano invia la risposta al BIT premendo una volta il pulsante B. Nel gestore dell'evento "al clic" del pulsante B si verificano una serie di passaggi non appena il BIT riceve la risposta dei giocatori come indicato dai marcatori di codice nell'immagine:

  1. Il flag CHECK è impostato su True - un segnale per il BIT per confrontare la sua ipotesi con quella dei giocatori
  2. Il punteggio procede solo se entrambi i giocatori hanno indovinato numeri maggiori di Zero ed entro il limite GAME_RANGE (di 6) e in caso contrario, viene chiamata la funzione showBadGuess() - il giocatore che indovina vince un punto e il giocatore che indovina ne perde uno!
  3. Se i giocatori indovinano che corrisponde a quello dei BIT, viene chiamata la funzione showWin() - il giocatore vince questo round!
  4. In caso contrario, viene chiamata la funzione showLose() - il BIT vince questo round!
  5. Un controllo viene eseguito alla fine di ogni round dalla funzione annunciaWinner() per vedere se uno dei due giocatori ha vinto segnando 3 punti - in tal caso, il gioco è terminato e viene annunciato il vincitore finale e tutti i punteggi e i messaggi sono Ripristina
  6. Il BIT riavvia il gioco lanciando una sfida chiamando la funzione doChallenge() e attende che il giocatore risponda e il processo si ripete

Discuteremo le nuove funzioni nei prossimi passi.

Aspettare! Come si fa a indovinare ZERO?

  • Se guardi la funzione Math random(), puoi vedere che il suo valore iniziale è impostato su Zero e non può essere modificato.
  • Il BIT è quindi libero di indovinare uno Zero e sfidare il giocatore a causa di questa limitazione
  • Allo stesso modo, il giocatore umano può inviare un'ipotesi Zero semplicemente facendo clic sul pulsante B senza prima fare clic sul pulsante A!
  • Se ciò è consentito, il giocatore umano non deve fare alcuno sforzo per giocare e questo non ha senso!
  • Pertanto, questa limitazione è stata compensata da Bullet #2. discusso sopra

Passaggio 9: la vittoria/perdita e il resto delle funzioni

La vittoria/perdita e il resto delle funzioni
La vittoria/perdita e il resto delle funzioni
La vittoria/perdita e il resto delle funzioni
La vittoria/perdita e il resto delle funzioni
La vittoria/perdita e il resto delle funzioni
La vittoria/perdita e il resto delle funzioni

Tutte queste funzioni vengono chiamate dal gestore di eventi "al clic" del pulsante B come visto nel passaggio precedente.

Queste funzioni sono piuttosto semplici e a questo punto dovresti acquisire familiarità con la natura intuitiva e narrativa del codice creato da una combinazione di variabili con nomi appropriati e gli attributi visivi dell'editor dei blocchi.

  1. La funzione showWin() visualizza un messaggio che indica che il giocatore ha vinto questo round di sfida e incrementa la variabile PLAYER_SCORE di 1
  2. Allo stesso modo, la funzione showLose() mostra che il giocatore ha fatto una cattiva ipotesi e assegna un punto al BIT incrementando la variabile BIT_SCORE di 1
  3. La funzione showBadGuess() visualizza una grande X sullo schermo che indica che uno dei giocatori ha fatto un'ipotesi sbagliata (di 0 o maggiore di 6) - il cattivo giocatore in questo caso perde un punto e l'altro segna un punto!

E infine, la funzione annunciaWinner() svolge il compito di annunciare chi è il grande vincitore dopo 3 round di sfida/risposta seguiti da:

  • Reimpostazione delle variabili di punteggio PLAYER_SCORE e BIT_SCORE
  • Fare una breve pausa e iniziare un nuovo gioco chiamando la funzione di avvio showMessage () discussa nel passaggio precedente (6) di questo IBLE

Infine, al simulatore e al codice!

Passaggio 10: il simulatore e il codice

Il simulatore e il codice
Il simulatore e il codice

Il codice è in esecuzione nel simulatore online che si trova qui

  • Il simulatore si trova in basso a sinistra della pagina
  • In alternativa, è possibile utilizzare il pulsante Download per scaricare il codice nel caso in cui si disponga di un BBC Microbit a portata di mano
  • Come accennato all'inizio di IBLE, non è necessario un BBC Microbit per creare il codice nell'editor dei blocchi o per simulare e testare il codice, anche se questo non funziona per persone curiose come me!

Una nota sul pulsante Modifica

  • Se hai notato, il codice è di dominio pubblico e c'è un modo per modificarlo utilizzando il pulsante Modifica in alto a destra
  • Tuttavia, ti chiedo sinceramente di fare una copia di questo codice e modificarlo in base alle tue esigenze in modo che la versione originale sia preservata nell'interesse di questo IBLE

Grazie! E buona codifica!!!:-)

Consigliato: