INHOUDSOPGAWE:
- Stap 1: Voordat u begin …
- Stap 2: Reëls van die raaisel
- Stap 3: Die Blocks -program: veranderlikes
- Stap 4: Die funksies
- Stap 5: Die program begin en die Shake Events & Event Handlers
- Stap 6: Die opstartboodskap en uitdagingsfunksies
- Stap 7: The Button a Click -gebeurtenis - Reageer op die BITs -uitdaging
- Stap 8: Die knoppie B -klikgebeurtenis - Dien reaksie op die BITs -uitdaging
- Stap 9: Die wen/verloor en res van die funksies
- Stap 10: Die simulator en kode
Video: Wat dink die bietjie? Maak 'n eenvoudige raaisel met die BBC Microbit !: 10 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Ek het 'n paar BBC Microbits opgetel nadat ek positiewe resensies daaroor gelees het in verskeie aanlynartikels.
In 'n poging om my vertroud te maak met die BIT, het ek 'n paar uur met die aanlyn Microsoft Blocks Editor rondgespeel en 'n eenvoudige raaisel gekry.
In hierdie IBLE praat ons oor die spelreëls en blaai deur die funksies wat in verskillende blokke kode in die Blocks Editor saamgestel is.
Uiteindelik kan 'n opgewonde gehoor na die aanlyn -simulator navigeer en hierdie eenvoudige speletjie 'n kans gee.
Laat ons begin.
Stap 1: Voordat u begin …
Die hardeware
Die BBC Microbit -bord is maklik om vertroud te raak met. Vir hierdie IBLE hoef u net te weet dat dit 'n klein bord met 2 drukknoppies, 'n verskeidenheid klein LED's en 'n mikro-USB-aansluiting is wat dien as 'n kragtoevoer en 'n manier om 'n program op die bord te laai.
Die verskeidenheid klein LED's kan in verskillende patrone geprogrammeer word.
Let wel:
U het nie die fisiese bord nodig vir hierdie IBLE nie! Die BBC Microbit -webwerf het 'n aanlyn -simulator om die kode wat u aanlyn ontwikkel, te toets.
Die sagteware
Hierdie IBLE gaan nie in detail oor die begin met die BBC Microbit en/of die Online Blocks Editor nie.
Die publiek word aangemoedig om hierdie BBC Micorbit -bron te ondersoek voordat hulle met die volgende stappe voortgaan.
BBC Microbit is ontwerp om programme te leer met behulp van 'n baie gebruikersvriendelike benadering en daarom is dit goed om vertroud te wees met 'n ander programmeertaal, maar dit is nie nodig nie, veral as u die Microsoft Blocks Editor gaan gebruik om programmering te leer.
Tog het ek nog nie 'n produk teëgekom wat so maklik is om mee te begin as die BBC Microbit nie, aangesien ek die eienaar is en speel met verskeie ander mikro-kontroleerder-programmeerplatforms.
Stap 2: Reëls van die raaisel
Die spelreëls is soos volg:
- By die aanskakel dink die BIT aan 'n nommer en daag die menslike speler uit om te raai wat die getal is deur 'n boodskap op sy LED -paneel te druk en wag hy op 'n antwoord
- Die speler raai en druk die linker drukknop (A) soveel keer as die antwoord - Byvoorbeeld, as die speler 5 raai, word die knoppie 5 keer gedruk
- Om die antwoord by die BIT in te dien, druk die speler een keer op die regter drukknop (B)!
- As die spelers raai dat dit reg is, dan behaal die speler 'n punt, indien nie, kry die BIT 'n punt
- As een speler 'n getal buite die reeks raai, behaal die ander speler 'n punt - die BIT vertoon 'n groot X op sy LED -skerm en gaan 'n nuwe nommer raai en herhaal die uitdaging; Voorbeeld: As die BIT u uitgedaag het om 'n getal tussen 1 en 5 te raai, en u het 6 geraai, of as u NUL geraai het (deur eenvoudig op B -knoppie te druk voordat u op A -knop gedruk het), word die ronde ongeldig
- Die uitdagingsreaksie duur voort totdat een van die spelers die maksimum toelaatbare punte behaal
Begin 'n nuwe speletjie:
Om te eniger tyd 'n nuwe speletjie te begin, gee die BIT 'n skud! Of ontkoppel en koppel die krag weer aan.
Stap 3: Die Blocks -program: veranderlikes
Die program gebruik 'n paar veranderlikes wat genoem word om by hul funksies hieronder te pas. Hierdie veranderlikes kan geskep word deur op die blad Veranderlikesprogrammering in die Blokke -redakteur te klik
BIT_SCORE - Hou die punte dop wat die BIT behaal het
bitGuessed - Hierdie veranderlike bevat die ewekansige waarde wat deur die BIT geraai word
CHECK - as dit op True gestel is, kyk die BIT of die spelers raai gelyk is aan die BITs raai
GAME_RANGE - Hierdie getal beperk hoe hoog die BIT of 'n speler kan raai
Voorbeeld: As dit op 6 gestel is, kan albei spelers van 1 tot 6 raai
MSG - 'n string wat verander word om verskillende boodskappe te vertoon op grond van die konteks van die spel
PLAYER_SCORE - hou die punte by wat die speler behaal het
playerGuess - Die getal wat die speler raai, word in hierdie veranderlike aangeteken
LET WEL
Die heel eerste veranderlike met die naam item is 'n algemene en standaard veranderlike en kan geïgnoreer word
Stap 4: Die funksies
As deel van die leerproses en vir 'n beter organisasie, is die kode georganiseer in 'n aantal funksies wat in die hoofprogram genoem of opgeroep kan word. Net soos veranderlikes, kan die funksies geskep en verkry word deur op die blad Gevorderd> Funksies programmering te klik.
Hieronder is 'n kort beskrywing van die funksies:
announceWinner - Hierdie funksie druk die wenboodskap wat aan die wenspeler gerig is, uit
doChallenge - Die funksie wat die BIT noem om 'n getal te raai en 'n uitdaging vir die speler te stel
showBadGuess - Toon 'n boodskap met 'n groot X op die LED -paneel as een van die spelers raai buite die toegelate reeks
showLose - word genoem as die BIT 'n uitdagingsronde oor die speler wen
showMessage - bied 'n boodskap aan om die speler uit te daag om 'n getal binne 'n vasgestelde reeks te raai
showWin - word geroep wanneer die speler die raai -ronde oor die BIT wen
Stap 5: Die program begin en die Shake Events & Event Handlers
Die "by begin" en "op skud" is gebeurtenishanteerders wat onderskeidelik gebel word wanneer die "begin" gebeurtenis en "skud" gebeurtenisse plaasvind. Soos gesien uit die Blocks -kode, is wat gebeur as hierdie twee gebeurtenishanteerders gebel word, byna dieselfde as in:
- Die funksie showMessage () word opgeroep om die boodskap te vertoon wanneer die spel begin
- Daar is 'n kort pouse van 650 milli-sekondes nadat die boodskap vertoon is
- Die doChallenge () -funksie word genoem waarin die BIT 'n getal raai en wag totdat die menslike speler 'n raai indien
Ons behandel die twee funksies in die volgende stap.
Dit gesê, daar is fundamentele verskille tussen die "aan die begin" en "op skud" gebeurtenishanteerders:
- Die gebeurtenishanteerder "aan die begin" loop elke keer as die BIT begin word - soos om die krag aan die BIT te koppel en weer aan te sluit
- Sekere dinge wat slegs een keer moet gebeur wanneer die program begin, word gedefinieer in die 'aan die begin' en nêrens anders in die hele program nie
- Een so iets is om die GAME_RANGE -veranderlike te initialiseer - in hierdie geval word dit geïnitialiseer tot 6, wat beteken dat die spelers 'n getal tussen 1 en 6 kan raai
- Aangesien die 'aan die begin' 'n basiese BIT -funksie is, is dit geen wonder dat dit toeganklik is vanaf die blad Basiese programmering van die Blocks Editor
- Die 'on shake', aan die ander kant, is 'n gebeurtenishanterer wat gebel word wanneer die gebruiker 'n inset lewer in die BIT in die vorm van 'n vinnige skud
- Daarom kan die gebeurtenishanteerder "on shake" gevind word binne die Invoerprogrammering -oortjie van die Blocks Editor
Stap 6: Die opstartboodskap en uitdagingsfunksies
Die showMessage () opstartboodskapfunksie is 'n eenvoudige funksie wat die BITs LED -palet met 'n duidelike skermopdrag skoonmaak en 'n blaai -boodskap vertoon wat die speler uitdaag om 'n getal te raai.
Soos gesien in die funksieblok showMessage, word 'n paar vaste stukke tou aan die veranderlike GAME_RANGE saamgevoeg om 'n eenvoudige boodskap te vertoon wat sê:
Raai 0 - 6!
Die doChallenge () -funksie word aan die begin van elke uitdagingsronde genoem, en doen dus die volgende soos gesien uit die doChallenge -funksieblok:
- Initialiseer die playerGuess -veranderlike tot nul voordat 'n nuwe insette van die menslike speler aanvaar word
- Initialiseer die CHECK -veranderlike na vals - wat beteken dat die rondte op die punt staan om te begin en dit nog nie tyd is om die getalle wat deur albei spelers geraai is, te vergelyk nie
- Vervolgens kies die BIT 'n ewekansige getal binne die reeks wat deur GAME_RANGE gedefinieer is en teken dit op in die bitGuessed -veranderlike
- Uiteindelik word die LED -palet verlig met 'n vraagteken -simbool wat die menslike speler moet laat reageer op die BIT's -uitdaging!
Let op
As die veranderlike waarde GAME_RANGE verander word soos bespreek in die vorige stap, kan u spel 'n bietjie anders lyk en optree.
Die verbindingsfunksie is 'n stringfunksie en kan toeganklik wees vanaf die teksprogrammeer -oortjie van die Blocks Editor
Stap 7: The Button a Click -gebeurtenis - Reageer op die BITs -uitdaging
Sodra die groot vraagteken op die BITs LED -skerm verskyn, reageer dit op die uitdaging vir die menslike speler om eenvoudig die volgende te doen:
- Raai watter getal die BIT tussen 0 en 6 dink
- Druk die knoppie A soveel keer as wat u antwoord is - byvoorbeeld as u antwoord 3 is, druk dan knoppie A drie keer
Dit is duidelik dat die druk op die knoppie 'n gebruikersinvoer is en daarom is die gebeurtenishanteerder "op die knoppie" toeganklik via die invoerprogrammering -oortjie van die Blocks -redakteur. Elke keer as die gebruiker op knoppie A druk, doen hierdie gebeurtenishanteerder die volgende:
- Verhoog die waarde van die playerGuess -veranderlike met 1 solank dit binne die GAME_RANGE -limiet is (6 in hierdie geval)
- As die speler 7 of hoër indien, word die raaiskoot ongeldig en word die spelerGuess teruggestel na nul, wat die raai van die spelers in wese ongeldig maak
Die volgende aksie is om die antwoord op die uitdaging in te dien, waardeur ons in die volgende stap sal gaan.
Stap 8: Die knoppie B -klikgebeurtenis - Dien reaksie op die BITs -uitdaging
Die menslike speler stuur die antwoord aan die BIT deur een keer op knoppie B te druk. 'N Aantal stappe gebeur in die knoppie B "op klik" gebeurtenishanteerder sodra die BIT die spelers se antwoord ontvang, soos aangedui deur die kode merkers in die prent:
- Die CHECK -vlag is ingestel op True - 'n sein vir die BIT om sy raaiskoot te vergelyk met die van die spelers
- Die puntetelling vind slegs plaas as albei spelers getalle groter as Nul en binne die GAME_RANGE -limiet (van 6) raai, en indien nie, word die funksie showBadGuess () genoem - die speler met 'n goeie raai wen 'n punt, en die slegte raaiskoot verloor een!
- As die spelers raai ooreenstem met dié van die BITs, word die showWin () -funksie genoem - die speler wen hierdie ronde!
- Indien nie, word die showLose () -funksie genoem - die BIT wen hierdie ronde!
- Aan die einde van elke ronde word 'n tjek uitgevoer deur die aankondiging Winner () -funksie om te sien of een van die twee spelers gewen het deur 3 punte aan te teken - indien wel, is die wedstryd beëindig en word die finale wenner aangekondig en is alle tellings en boodskappe herstel
- Die BIT herbegin die spel deur 'n uitdaging aan te gaan deur die doChallenge () -funksie te bel en wag totdat die speler reageer en die proses herhaal
Ons sal die nuwe funksies in die volgende stappe bespreek.
Wag! Hoe raai jy NUL?
- As u na die willekeurige () wiskundefunksie kyk, kan u sien dat die aanvanklike waarde daarvan op nul gestel is en nie verander kan word nie.
- Die BIT kan dus 'n nul raai en die speler uitdaag as gevolg van hierdie beperking
- Net so kan die menslike speler 'n nul -raaiskoot indien deur eenvoudig op knoppie B te klik sonder om eers op knoppie A te klik!
- As dit toegelaat word, hoef die menslike speler nie moeite te doen om te speel nie, en dit maak geen sin nie!
- Daarom is hierdie beperking deur Bullet #2 vergoed. hierbo bespreek
Stap 9: Die wen/verloor en res van die funksies
Al hierdie funksies word met die knoppie B "op klik" gebeurtenis hanteerder genoem, soos gesien in die vorige stap.
Hierdie funksies is redelik eenvoudig en teen hierdie tyd behoort u kennis te maak met die intuïtiewe en narratiewe aard van die kode wat geskep is deur 'n kombinasie van toepaslike veranderlikes en die visuele kenmerke van die Blocks Editor.
- Die funksie showWin () vertoon 'n boodskap wat aandui dat die speler hierdie uitdagingsronde gewen het en die PLAYER_SCORE -veranderlike met 1 verhoog
- Op dieselfde manier wys die showLose () -funksie dat die speler 'n slegte raaiskoot gemaak het en 'n punt aan die BIT toeken deur die BIT_SCORE -veranderlike met 1 te verhoog
- Die funksie showBadGuess () vertoon 'n groot X op die skerm wat aandui dat een van die spelers 'n slegte raaiskoot (van 0 of meer as 6) gemaak het - die slegte speler verloor in hierdie geval 'n punt, en die ander teken 'n punt!
En laastens voer die funksie van aankondigWinner () die taak aan om aan te kondig wie die groot wenner is na 3 rondes uitdaging/reaksie, gevolg deur:
- Herstel van die PLAYER_SCORE en BIT_SCORE tellingveranderlikes
- Kort stilstaan en 'n nuwe speletjie begin deur die showMessage () opstartfunksie wat in die vorige stap (6) van hierdie IBLE bespreek is, te bel
Laastens, na die simulator en die kode!
Stap 10: Die simulator en kode
Die kode werk in die aanlyn -simulator wat hier geleë is
- Die simulator is links onder op die bladsy
- Alternatiewelik kan die aflaai -knoppie gebruik word om die kode af te laai as u 'n BBC Microbit byderhand het
- Soos aan die begin van die IBLE genoem, het u nie 'n BBC Microbit nodig om die kode in die Blocks Editor te bou of om u kode te simuleer en te toets nie, alhoewel dit nie vir nuuskierige mense soos ek werk nie!
'N Opmerking oor die wysigingsknoppie
- As u dit waargeneem het, is die kode in die publieke domein en is daar 'n manier om dit te wysig met die knoppie Wysig regs bo
- Ek sou egter opreg versoek dat u 'n afskrif van hierdie kode maak en dit aan u behoeftes aanpas sodat die oorspronklike weergawe in belang van hierdie IBLE behoue bly
Dankie! En gelukkige kodering !!!:-)
Aanbeveel:
N Eenvoudige raaisel - Python + XBees + Arduino: 10 stappe
N Eenvoudige raaisel - Python + XBees + Arduino: So werk die spel: U het 4 pogings om 'n letter tussen' a ' -' h ' - > Raai die regte letter: jy wen! ?-> Raai die verkeerde letter: spel verby?-> Raai u dat enige ander karakter buite 'a' - 'h': die spel verby is? Met u Arduino kan u
Hoe om 'n eenvoudige en kragtige handvatselkontroleerder saam te stel- gebaseer op die mikro: bietjie: 10 stappe (met foto's)
Hoe om 'n eenvoudige en kragtige handvatselkontroleerder saam te stel- gebaseer op die mikro: bietjie: die naam van die handvatsel is handlebit. Die vorm is 'n handvatsel en dit lyk baie cool! Nou kan ons 'n inleiding maak oor die Handlebit, laat ons verder gaan
DIY FPV -grondstasie vir minder $$$ as wat jy dink: 9 stappe
DIY FPV Ground Station vir minder $$$ as wat jy dink: Hey, welkom by my Instructable. Dit is 'n FPV -grondstasie wat ek gebou het om saam met my Tiny Whoop te gebruik (ek het ook 'n instruksie op my Tiny Whoop -opstelling: My Tiny Whoop: 'n Whoop -resep + 'n paar wenke en truuks). Dit weeg ongeveer 2 pond, is lekker
Pocket LED Light ('n bietjie soos 'n Lightsaber .. 'n bietjie nuttig): 4 stappe
Pocket LED Light ('n bietjie soos 'n Lightsaber .. 'n bietjie nuttig): hierdie instruksie wys u hopelik hoe u 'n handige, handige en waarskynlik prettige saklamp kan maak. Eerstens jammer vir die beeldkwaliteit. die kamera sux van naby, selfs met makro aan. Ek moes ook die instruksies teken, aangesien ek dit gemaak het, sodat
Ek dink die robot kyk bietjie: 4 stappe
Ek dink dat die robot 'n bietjie kyk: ek kyk na een van die instruksies. Ek het gesien waar hulle die voorkoms van die robot verander. Ek het gedink ek sal daarmee speel. Die webwerf het geen instruksies gehad oor presies wat hulle doen nie. Die persoon het gesê dat hy nie