Taula de continguts:
- Pas 1: abans de començar …
- Pas 2: regles del joc d’endevinalles
- Pas 3: el programa de blocs: variables
- Pas 4: les funcions
- Pas 5: l'inici del programa i els gestors d'esdeveniments i esdeveniments d'agitació
- Pas 6: missatges d'inici i funcions de desafiament
- Pas 7: el botó d'un esdeveniment de clic: respon al repte BITs
- Pas 8: el botó B Feu clic a l'esdeveniment: envieu una resposta al repte BITs
- Pas 9: El guanyar / perdre i la resta de funcions
- Pas 10: el simulador i el codi
Vídeo: Què és el Bit Thinking? Feu un joc senzill d’endevinalles amb el BBC Microbit !: 10 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Vaig recollir un parell de BBC Microbits després de llegir ressenyes positives sobre ells en diversos articles en línia.
En un intent de familiaritzar-me amb el BIT, vaig jugar un parell d’hores amb l’editor en línia de Microsoft Blocks durant un parell d’hores i vaig plantejar un simple joc d’endevinalles.
En aquest IBLE parlarem de les regles del joc i navegarem per les funcions reunides en diferents blocs de codi a l’Editor de blocs.
Finalment, el públic emocionat pot navegar fins al simulador en línia i donar una oportunitat a aquest senzill joc.
Comencem.
Pas 1: abans de començar …
El maquinari
El tauler de la BBC Microbit és fàcil de familiaritzar-se. Per a aquest IBLE, tot el que heu de saber és que es tracta d’una petita placa amb 2 botons de pulsació, un conjunt de LEDs minúsculs i un endoll micro-USB que actua com a font d’alimentació i que permet carregar un programa a la placa..
Es pot programar el conjunt de petits LED per il·luminar-se en diferents patrons.
Nota:
No necessiteu el tauler físic per a aquest IBLE. El lloc de la BBC Microbit té un simulador en línia per provar el codi que desenvolupeu en línia.
El programari
Aquest IBLE no entra en detall al començar a utilitzar BBC Microbit i / o l'editor de blocs en línia.
Es recomana que el públic explori aquest recurs de la BBC Micorbit abans de continuar amb els passos següents.
BBC Microbit ha estat dissenyat per ensenyar a programar amb un enfocament molt fàcil d'utilitzar i, per tant, és familiar tenir un altre llenguatge de programació, però no és necessari, especialment si utilitzeu l'editor de blocs de Microsoft per aprendre a programar.
Tot i això, encara no he trobat cap producte que sigui tan fàcil d’iniciar que el BBC Microbit, ja que posseeixo i jugo amb diverses altres plataformes de programació de microcontroladors.
Pas 2: regles del joc d’endevinalles
Les regles del joc són les següents:
- En engegar-se, el BIT pensa en un número i desafia el jugador humà a endevinar quin és aquest número imprimint un missatge al seu panell LED i espera una resposta
- El jugador fa una suposició i prem el botó esquerre (A) tantes vegades com la resposta. Exemple, si el jugador ha endevinat 5, el botó es prem 5 vegades
- Per enviar la resposta al BIT, el jugador prem el botó dret (B) una vegada.
- Si els jugadors suposen que té raó, el jugador anota un punt, si no, el BIT obté un punt
- Si un jugador endevina un número fora del rang, l’altre jugador marca un punt: el BIT mostra una gran X a la pantalla LED i procedeix a endevinar un número nou i repeteix el repte; Exemple: si el BIT us desafiava a endevinar un número entre l’1 i el 5 i n’heu endevinat 6, o si endevineu ZERO (simplement prement el botó B abans de prémer el botó A), la ronda queda invalidada.
- La resposta-repte continua fins que un dels jugadors aconsegueix els punts màxims permesos
Començar un joc nou:
Per començar un joc nou en qualsevol moment, només cal que sacsegeu el BIT. O simplement desconnecteu i torneu a connectar l’alimentació.
Pas 3: el programa de blocs: variables
El programa utilitza algunes variables anomenades per coincidir amb les seves funcions que s'enumeren a continuació. Aquestes variables es poden crear fent clic a la pestanya Programació de variables de l’Editor de blocs
BIT_SCORE: fa un seguiment dels punts aconseguits pel BIT
bitGuessed: aquesta variable conté el valor aleatori endevinat pel BIT
CHECK: quan s'estableix en True, el BIT comprova si els jugadors suposen que és igual a la suposició dels BIT
GAME_RANGE: aquest número limita l’altura que pot endevinar el BIT o un jugador
Exemple: si es defineix a 6, tots dos jugadors poden endevinar de l'1 al 6
MSG: una cadena que es modifica per mostrar diferents missatges en funció del context del joc
PLAYER_SCORE: fa un seguiment dels punts aconseguits pel jugador
playerGuess: el nombre endevinat pel jugador es registra en aquesta variable
NOTA
La primera variable anomenada element és una variable general i per defecte i es pot ignorar
Pas 4: les funcions
Com a part del procés d’aprenentatge i per a una millor organització, el codi es va organitzar en diverses funcions que es podrien convocar o invocar al programa principal. Igual que les variables, es pot crear i accedir a les funcions fent clic a la pestanya Avançat> Programació de funcions.
A continuació es mostra una breu descripció de les funcions:
announceWinner: aquesta funció imprimeix el missatge guanyador adreçat al jugador guanyador
doChallenge: la funció que el BIT crida per endevinar un número i suposar un desafiament per al jugador
showBadGuess: mostra un missatge amb una enorme X al tauler LED si algun dels jugadors endevina fora del rang permès
showLose: es diu si el BIT guanya una ronda de desafiament al jugador
showMessage: presenta un missatge per desafiar el jugador a endevinar un número dins d’un interval fixat
showWin: es diu quan el jugador guanya la ronda d'endevinalles sobre el BIT
Pas 5: l'inici del programa i els gestors d'esdeveniments i esdeveniments d'agitació
Els "on start" i "on shake" són gestors d'esdeveniments que es diuen respectivament quan es produeixen els esdeveniments "start" i "shake". Com es veu al codi de blocs, el que passa quan es diuen aquests dos gestors d'esdeveniments és gairebé el mateix que a:
- La funció showMessage () es diu per mostrar el missatge quan comença el joc
- Hi ha una breu pausa de 650 mil·lisegons després que es mostri el missatge
- Es diu la funció doChallenge () en què el BIT endevina un número i espera que el jugador humà faci una suposició
Cobrirem les dues funcions al següent pas.
Dit això, hi ha diferències fonamentals entre els gestors d'esdeveniments "on start" i "on shake":
- El gestor d'esdeveniments "on start" s'executa cada vegada que s'inicia el BIT, com en desconnectar i tornar a connectar l'alimentació al BIT
- Algunes coses que han de passar només una vegada quan s'inicia el programa es defineixen a "on start" i en cap altre lloc de tot el programa
- Una d’aquestes coses és inicialitzar la variable GAME_RANGE: en aquest cas, s’inicialitza a 6, cosa que significa que els jugadors poden endevinar un número entre 1 i 6
- Com que "on start" és una funció BIT bàsica, no és estrany que sigui accessible des de la pestanya de programació bàsica de l'editor de blocs.
- El "on shake", en canvi, és un gestor d'esdeveniments que es diu cada vegada que l'usuari proporciona una entrada al BIT en forma d'un shake ràpid
- Per tant, el controlador d'esdeveniments "on shake" es pot trobar a la pestanya de programació d'entrada de l'editor de blocs
Pas 6: missatges d'inici i funcions de desafiament
La funció ShowMessage () Startup Message és una funció senzilla que neteja la paleta LED BIT amb una ordre de pantalla neta i mostra un missatge de desplaçament que desafia al jugador a endevinar un número.
Com es veu al bloc de funció showMessage, s’afegeixen un parell de trossos de cadena fixos a la variable GAME_RANGE per mostrar un missatge senzill que diu:
Endevina 0 - 6!
La funció doChallenge () es diu al començament de cada ronda de desafiament i, per tant, fa el següent tal com es veu al bloc de funció doChallenge:
- Inicialitza la variable playerGuess a zero abans d'acceptar una nova entrada del jugador humà
- Inicialitza la variable CHECK a falsa, és a dir, que la ronda està a punt de començar i encara no és hora de comparar els números endevinats pels dos jugadors
- A continuació, i el més significatiu, el BIT selecciona un número aleatori dins de l'interval definit per GAME_RANGE i el registra a la variable bitGuessed
- Finalment, la paleta LED s’il·lumina amb un símbol de signe d’interrogació que demana al jugador humà una entrada en resposta al repte dels BIT.
Nota
Si es canvia el valor de la variable GAME_RANGE tal com es va comentar al pas anterior, és possible que el vostre joc tingui un aspecte diferent i actuï.
La funció d'unió és una funció de cadena i es pot accedir des de la pestanya de programació de text de l'editor de blocs
Pas 7: el botó d'un esdeveniment de clic: respon al repte BITs
Un cop aparegui el gran interrogant a la pantalla LED de BIT, respondre al repte del jugador humà és fer el següent:
- Endevineu quin número podria estar pensant el BIT entre 0 i 6
- Premeu el botó A tantes vegades com la vostra resposta: per exemple, si la resposta és 3, premeu el botó A 3 vegades
Viouslybviament, prémer el botó és una entrada de l'usuari i, per tant, es pot accedir al controlador d'esdeveniments "botó on" mitjançant la pestanya de programació d'entrada de l'editor de blocs. Cada vegada que l'usuari prem el botó A, aquest gestor d'esdeveniments fa el següent:
- Incrementeu el valor de la variable playerGuess en 1 sempre que estigui dins del límit GAME_RANGE (6 en aquest cas)
- Si el jugador envia 7 o més, la suposició queda invalidada i el playerGuess es torna a posar a zero, essencialment invalidant la suposició dels jugadors
La següent acció consisteix a enviar la resposta al repte, que recorrerem en el següent pas.
Pas 8: el botó B Feu clic a l'esdeveniment: envieu una resposta al repte BITs
El jugador humà envia la resposta al BIT prement el botó B una vegada. Hi ha diversos passos al controlador d'esdeveniments "en fer clic" del botó B tan bon punt el BIT rep la resposta dels jugadors tal com s'indica amb els marcadors de codi de la imatge:
- La bandera CHECK està establerta a True, un senyal perquè el BIT pugui comparar la seva suposició amb la dels jugadors
- La puntuació només es produeix si els dos jugadors han endevinat nombres superiors a zero i dins del límit GAME_RANGE (de 6) i, si no, es diu la funció showBadGuess (): el jugador que suposa un bon guió guanya un punt i el jugador que no ho sap perd.
- Si els jugadors endevinen coincidències amb les dels BIT, es diu la funció showWin (): el jugador guanya aquesta ronda.
- Si no, es diu la funció showLose (): el BIT guanya aquesta ronda.
- Al final de cada ronda es fa una comprovació mitjançant la funció announceWinner () per veure si un dels dos jugadors ha guanyat anotant 3 punts; si és així, el joc s’acaba i s’anuncia el guanyador final i totes les puntuacions i missatges són restableix
- El BIT reinicia el joc llançant un repte trucant a la funció doChallenge () i espera que el jugador respongui i el procés es repeteixi
Analitzarem les noves funcions en els passos següents.
Espera! Com s’endevina ZERO?
- Si mireu la funció Math (random), podeu veure que el seu valor inicial està definit a zero i no es pot canviar.
- Per tant, el BIT és lliure d’endevinar un zero i desafiar el jugador com a resultat d’aquesta limitació
- De la mateixa manera, el jugador humà pot enviar una suposició zero simplement fent clic al botó B sense fer clic primer al botó A.
- Si això es permet, el jugador humà no ha de fer cap esforç per jugar i això no té cap sentit.
- Per tant, aquesta limitació ha estat compensada per Bullet # 2. comentat anteriorment
Pas 9: El guanyar / perdre i la resta de funcions
Totes aquestes funcions són anomenades pel controlador d'esdeveniments "en fer clic" del botó B tal com es va veure al pas anterior.
Aquestes funcions són bastant senzilles i, en aquest moment, hauríeu de familiaritzar-vos amb la naturalesa intuïtiva i narrativa del codi creat per una combinació de variables amb el nom adequat i els atributs visuals de l’Editor de blocs.
- La funció showWin () mostra un missatge que indica que el jugador ha guanyat aquesta ronda de desafiament i augmenta la variable PLAYER_SCORE en 1
- De la mateixa manera, la funció showLose () mostra que el jugador fa una mala conjectura i atorga un punt al BIT incrementant la variable BIT_SCORE en 1
- La funció showBadGuess () mostra una X gran a la pantalla que indica que un dels jugadors va fer una mala intenció (0 o superior a 6): el jugador dolent en aquest cas perd un punt i l’altre marca un punt.
I, finalment, la funció announceWinner () realitza la tasca d’anunciar qui és el gran guanyador després de 3 rondes de desafiament / resposta seguides de:
- Restabliment de les variables de puntuació PLAYER_SCORE i BIT_SCORE
- Fer una pausa breu i iniciar un joc nou trucant a la funció d’inici de showMessage () que es va parlar al pas anterior (6) d’aquest IBLE
Finalment, aneu al simulador i al codi.
Pas 10: el simulador i el codi
El codi s’executa al simulador en línia situat aquí
- El simulador es troba a la part inferior esquerra de la pàgina
- Alternativament, es pot utilitzar el botó Baixa per descarregar el codi en cas que tingueu a mà la BBC Microbit
- Com es va esmentar al començament de l'IBLE, no necessiteu un BBC Microbit per crear el codi a l'editor de blocs ni per simular i provar el vostre codi, tot i que això no funciona per a persones curioses com jo.
Una nota al botó Edita
- Si ho heu observat, el codi és de domini públic i hi ha una manera d’editar-lo mitjançant el botó Edita de la part superior dreta.
- Tot i això, us sol·licito sincerament que feu una còpia d’aquest codi i que el canvieu per adaptar-lo a les vostres necessitats, de manera que es conservi la versió original en interès d’aquest IBLE
Gràcies! I feliç codificació !!!:-)
Recomanat:
BBC Micro: bit and Scratch: volant interactiu i joc de conducció: 5 passos (amb imatges)
BBC Micro: bit i Scratch: volant interactiu i joc de conducció: una de les tasques de la meva classe aquesta setmana és utilitzar el BBC Micro: bit per relacionar-me amb un programa Scratch que hem escrit. Vaig pensar que aquesta era l'oportunitat perfecta per utilitzar el meu ThreadBoard per crear un sistema incrustat. La meva inspiració per a la ratllada p
Joc de trencaclosques de memòria mitjançant un BBC MicroBit: 7 passos
Joc de trencaclosques de memòria amb un BBC MicroBit: si no sabeu què és un BBC MicroBit, és bàsicament un dispositiu molt petit que podeu programar per tenir entrades i sortides. És com un Arduino, però més concret. El que realment em va encantar del MicroBit és que té dues entrades incorporades b
LED USB senzill (i altres coses) de bricolatge senzill i senzill: 16 passos
LED USB (s) senzills i senzills de bricolatge barats (i altres coses): Hola i benvinguts a la meva primera instrucció :) Aposto a que estem configurant i repoblant els espais dels nostres creadors una vegada més després del virus, així que crec que ja és hora que els creadors tots hem après a fabricar els nostres propis USB en lloc de dependre de bateries fàcilment esgotables
Un simple joc d'endevinalles: Python + XBees + Arduino: 10 passos
Un joc senzill d’endevinalles: Python + XBees + Arduino: així funciona el joc: teniu 4 intents d’endevinar una lletra entre ‘a’ - ‘h’ - > Endevina la lletra correcta: guanyes! ? - > Endevina la lletra equivocada: finalitza el joc? - > Endevineu qualsevol altre personatge que no sigui ‘a’ - ‘h’: finalitzat? El vostre Arduino us permetrà
Network Rivalry: un joc de baixa latència per a la BBC Micro: bit: 10 passos (amb imatges)
Network Rivalry: a Low-Latency Game for the BBC Micro: bit: En aquest tutorial, explicaré com implementar un joc bàsic multijugador al micro: bit de la BBC amb les funcions següents: Una interfície senzilla Baixa latència entre els botons i actualitzacions de pantalla Un nombre flexible de participants Easy co