Taula de continguts:

Què és el Bit Thinking? Feu un joc senzill d’endevinalles amb el BBC Microbit !: 10 passos
Què és el Bit Thinking? Feu un joc senzill d’endevinalles amb el BBC Microbit !: 10 passos

Vídeo: Què és el Bit Thinking? Feu un joc senzill d’endevinalles amb el BBC Microbit !: 10 passos

Vídeo: Què és el Bit Thinking? Feu un joc senzill d’endevinalles amb el BBC Microbit !: 10 passos
Vídeo: Тайна Великой Китайской Стены 2024, Juliol
Anonim
Què és el Bit Thinking? Feu un senzill joc d’endevinalles amb el BBC Microbit
Què és el Bit Thinking? Feu un senzill joc d’endevinalles amb el BBC Microbit

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 …

Abans de començar …
Abans de començar …
Abans de començar …
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

Regles del joc d’endevinalles
Regles del joc d’endevinalles

Les regles del joc són les següents:

  1. 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
  2. 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
  3. Per enviar la resposta al BIT, el jugador prem el botó dret (B) una vegada.
  4. Si els jugadors suposen que té raó, el jugador anota un punt, si no, el BIT obté un punt
  5. 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.
  6. 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 de blocs: variables
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

Les funcions
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ó

L'inici del programa i els gestors d'esdeveniments i esdeveniments d'agitació
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":

  1. 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
  2. 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
  3. 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
  4. 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.
  5. 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
  6. 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

El missatge d’inici i les funcions de desafiament
El missatge d’inici i les funcions de desafiament
El missatge d’inici i les funcions de desafiament
El missatge d’inici i les funcions de desafiament
El missatge d’inici i les funcions de desafiament
El missatge d’inici i les 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:

  1. Inicialitza la variable playerGuess a zero abans d'acceptar una nova entrada del jugador humà
  2. 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
  3. 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
  4. 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

L’esdeveniment Button a Click: respon al repte BITs
L’esdeveniment Button a Click: 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:

  1. Endevineu quin número podria estar pensant el BIT entre 0 i 6
  2. 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

L'esdeveniment de clic del botó B: envieu una resposta al repte BITs
L'esdeveniment de clic del botó B: envieu una resposta al repte BITs
L’esdeveniment de clic del botó B: envieu una resposta al repte BITs
L’esdeveniment de clic del botó B: 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:

  1. La bandera CHECK està establerta a True, un senyal perquè el BIT pugui comparar la seva suposició amb la dels jugadors
  2. 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.
  3. Si els jugadors endevinen coincidències amb les dels BIT, es diu la funció showWin (): el jugador guanya aquesta ronda.
  4. Si no, es diu la funció showLose (): el BIT guanya aquesta ronda.
  5. 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
  6. 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

El guanyar / perdre i la resta de funcions
El guanyar / perdre i la resta de funcions
El guanyar / perdre i la resta de funcions
El guanyar / perdre i la resta de funcions
El guanyar / perdre i la resta de funcions
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.

  1. 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
  2. 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
  3. 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 simulador i el codi
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: