Obsah:
- Krok 1: Skôr ako začnete…
- Krok 2: Pravidlá hry Guessing
- Krok 3: Program blokov: premenné
- Krok 4: Funkcie
- Krok 5: Spustenie programu a udalosti Shake a obsluhy udalostí
- Krok 6: Úvodná správa a funkcie výzvy
- Krok 7: Udalosť kliknutie a tlačidlo - reagujte na výzvu BITs
- Krok 8: Udalosť kliknutia na tlačidlo B - odošlite odpoveď na výzvu BIT
- Krok 9: Výhra/prehra a ostatné funkcie
- Krok 10: Simulátor a kód
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Po prečítaní pozitívnych recenzií o nich vo viacerých článkoch online som vzal do rúk pár mikrobitov BBC.
V snahe zoznámiť sa s BIT som sa niekoľko hodín hral s online editorom Microsoft Blocks a vymyslel som jednoduchú hru na hádanie.
V tomto IBLE budeme hovoriť o pravidlách hry a prechádzať funkciami zostavenými v rôznych blokoch kódu v editore blokov.
Nadšené publikum môže konečne prejsť na online simulátor a vyskúšať si túto jednoduchú hru.
Začnime.
Krok 1: Skôr ako začnete…
Hardvér
S doskou BBC Microbit sa ľahko zoznámite. K tomuto IBLE budete potrebovať iba vedieť, že je to malá doska s 2 tlačidlami, radou malých diód LED a zásuvkou micro-USB, ktorá slúži ako napájací zdroj a prostriedok na zavedenie programu na dosku..
Rad malých LED diód je možné naprogramovať tak, aby sa rozsvietili v rôznych vzoroch.
Poznámka:
Na tento IBLE nepotrebujete fyzickú dosku! Stránka BBC Microbit má online simulátor na testovanie kódu, ktorý vytvoríte online.
Softvér
Tento IBLE sa podrobne nezaoberá tým, ako začať s BBC Microbit a/alebo editorom online blokov.
Diváci sa vyzývajú, aby si prezreli tento zdroj BBC Micorbit a potom pokračovali k ďalším krokom.
Program BBC Microbit bol navrhnutý tak, aby vyučoval programovanie pomocou veľmi užívateľsky prívetivého prístupu, a preto je dobré ovládať iný programovací jazyk, nie je to však nevyhnutné, najmä ak sa na naučenie programovania chystáte použiť editor blokov Microsoft.
Napriek tomu som sa ešte nestretol s výrobkom, s ktorým je také ľahké začať ako s BBC Microbit, vzhľadom na to, že vlastním a hrám s niekoľkými ďalšími programovacími platformami pre mikroprocesory.
Krok 2: Pravidlá hry Guessing
Pravidlá hry sú nasledujúce:
- Po zapnutí BIT myslí na číslo a vyzýva ľudského hráča, aby uhádol, čo je toto číslo, vytlačením správy na svojom paneli LED a čaká na odpoveď.
- Hráč uhádne a stlačí ľavé tlačidlo (A) toľkokrát, koľkokrát je odpoveď - Príklad: Ak hráč uhádol 5, potom je tlačidlo stlačené 5 -krát.
- Ak chcete odoslať odpoveď na BIT, hráč raz stlačí pravé tlačidlo (B)!
- Ak je odhad hráčov správny, hráč získa bod, ak nie, bod získa BIT
- Ak jeden hráč uhádol číslo mimo rozsah, druhý hráč získa bod - BIT zobrazí na svojom LED displeji veľké X a pokračuje v hádaní nového čísla a opakovaní výzvy; Príklad: Ak vás BIT vyzval, aby ste uhádli číslo od 1 do 5, a uhádli ste 6, alebo ak ste uhádli NULU (jednoduchým stlačením tlačidla B pred stlačením tlačidla A), toto kolo sa zruší.
- Výzva-odpoveď pokračuje, kým jeden z hráčov nezíska maximálny povolený počet bodov
Začíname s novou hrou:
Ak chcete začať novú hru kedykoľvek, jednoducho BITom zatraste! Alebo jednoducho odpojte a znova zapojte napájanie.
Krok 3: Program blokov: premenné
Program používa niekoľko premenných pomenovaných tak, aby zodpovedali ich funkciám uvedeným nižšie. Tieto premenné je možné vytvoriť kliknutím na kartu Programovanie premenných v editore blokov
BIT_SCORE - Vedie o bodoch dosiahnutých BIT
bitGuessed - Táto premenná obsahuje náhodnú hodnotu uhádnutú BIT
KONTROLA - ak je nastavená na hodnotu True, BIT kontroluje, či sa odhad hráčov zhoduje s odhadom BIT
GAME_RANGE - Toto číslo obmedzuje, ako vysoko BIT alebo hráč dokáže uhádnuť
Príklad: Ak je nastavený na 6, každý z hráčov môže uhádnuť od 1 do 6
MSG - Reťazec, ktorý sa zmení tak, aby zobrazoval rôzne správy na základe kontextu hry
PLAYER_SCORE - sleduje body, ktoré hráč dosiahol
playerGuess - Do tejto premennej je zaznamenané číslo uhádnuté hráčom
POZNÁMKA
Prvá premenná s názvom item je všeobecná a predvolená premenná a je možné ju ignorovať
Krok 4: Funkcie
V rámci procesu učenia a kvôli lepšej organizácii bol kód usporiadaný do niekoľkých funkcií, ktoré bolo možné vyvolať alebo vyvolať v hlavnom programe. Rovnako ako premenné je možné funkcie vytvárať a pristupovať k nim kliknutím na kartu Rozšírené> Programovanie funkcií.
Nasleduje stručný popis funkcií:
nounceWinner - Táto funkcia vytlačí správu o víťazstve adresovanú víťaznému hráčovi
doChallenge - Funkcia, ktorú BIT volá, aby uhádol číslo a predstavoval pre hráča výzvu
showBadGuess - Zobrazí správu s veľkým X na paneli LED, ak ktorýkoľvek z hráčov uhádol mimo povoleného rozsahu
showLose - volá sa, ak BIT vyhrá nad hráčom výzvu
showMessage - predstavuje správu, ktorá má hráča vyzvať, aby uhádol číslo v stanovenom rozsahu
showWin - vyvolá sa, keď hráč vyhrá kolo hádania nad BITOM
Krok 5: Spustenie programu a udalosti Shake a obsluhy udalostí
Spúšťače a spúšťače sú obslužné rutiny udalostí, ktoré sa volajú vždy, keď nastanú udalosti „štart“a „otrasy“. Ako je zrejmé z kódu Blocks, čo sa stane, keď sa zavolajú tieto dve obsluhy udalostí, sú takmer rovnaké ako v:
- Funkcia showMessage () sa volá na zobrazenie správy na začiatku hry
- Po zobrazení správy nasleduje krátka pauza 650 miliónov sekúnd
- Volá sa funkcia doChallenge (), v ktorej BIT uhádne číslo a čaká, kým ľudský hráč predloží odhad.
V nasledujúcom kroku sa budeme venovať dvom funkciám.
To znamená, že medzi obslužnými rutinami udalostí „na začiatku“a „na chvenie“existujú zásadné rozdiely:
- Obslužná rutina udalosti „pri štarte“sa spustí pri každom štarte BIT - ako pri odpojení a opätovnom pripojení napájania k BIT
- Niektoré veci, ktoré sa musia stať iba raz pri spustení programu, sú definované v „pri štarte“a nikde inde v celom programe.
- Jedna taká vec je inicializácia premennej GAME_RANGE - v tomto prípade je inicializovaná na 6, čo znamená, že hráči môžu uhádnuť číslo medzi 1 a 6.
- Pretože „na štarte“je základnou BIT funkciou, nie je divu, že je prístupný z karty Základné programovanie v editore blokov
- „On shake“na druhej strane je obsluha udalostí, ktorá sa volá vždy, keď používateľ poskytne vstup do BIT vo forme rýchleho pretrepania
- Obslužný program udalosti „on shake“sa preto nachádza na karte Programovanie vstupu v editore blokov
Krok 6: Úvodná správa a funkcie výzvy
Funkcia showMessage () Startup Message je jednoduchá funkcia, ktorá vyčistí paletu LED BITov pomocou príkazu jasnej obrazovky a zobrazí posúvaciu správu, ktorá hráča vyzve na uhádnutie čísla.
Ako je zrejmé z funkčného bloku showMessage, niekoľko pevných kúskov reťazca je spojených k premennej GAME_RANGE, aby sa zobrazila jednoduchá správa, ktorá hovorí:
Hádajte 0 - 6!
Funkcia doChallenge () sa volá na začiatku každého kola výzvy, a preto z funkčného bloku doChallenge robí nasledovné:
- Pred prijatím nového vstupu od ľudského hráča inicializuje premennú playerGuess na nulu
- Inicializuje premennú CHECK na false - to znamená, že kolo sa začína a nie je čas na porovnanie čísel uhádnutých oboma hráčmi
- Ďalej, a čo je najdôležitejšie, BIT vyberie náhodné číslo v rozsahu definovanom GAME_RANGE a zaznamená ho do premennej bitGuessed
- Nakoniec sa LED paleta rozsvieti symbolom otáznika, ktorý vyzve ľudského hráča na vstup v reakcii na výzvu BIT!
Poznámka
Ak sa zmení hodnota premennej GAME_RANGE, ako bolo popísané v predchádzajúcom kroku, vaša hra môže vyzerať a pôsobiť trochu inak.
Funkcia join je reťazcová funkcia a je prístupná z karty Programovanie textu v editore blokov
Krok 7: Udalosť kliknutie a tlačidlo - reagujte na výzvu BITs
Hneď ako sa na obrazovke BITs LED objaví veľký otáznik, v reakcii na výzvu ľudského hráča jednoducho urobte nasledujúce:
- Uhádnite, aké číslo by BIT mohol myslieť medzi 0 a 6
- Stlačte tlačidlo A toľkokrát, koľkokrát je vaša odpoveď - Príklad, ak je vaša odpoveď 3, potom trikrát stlačte tlačidlo A
Je zrejmé, že stlačenie tlačidla je vstupom používateľa, a preto je obsluha udalostí „on button“dostupná prostredníctvom karty Programovanie vstupu editora blokov. Zakaždým, keď používateľ stlačí tlačidlo A, táto obsluha udalostí vykoná nasledujúce:
- Zvýšte hodnotu premennej playerGuess o 1, pokiaľ je v medziach GAME_RANGE (v tomto prípade 6)
- Ak hráč predloží 7 a viac, odhad sa zneplatní a playerGuess sa vynuluje späť na nulu, čo v zásade znehodnotí hádanie hráčov.
Ďalšou akciou je odoslanie reakcie na výzvu, ktorou si v nasledujúcom kroku prejdeme.
Krok 8: Udalosť kliknutia na tlačidlo B - odošlite odpoveď na výzvu BIT
Ľudský hráč odošle odpoveď na BIT jedným stlačením tlačidla B. Hneď ako BIT prijme odpoveď hráčov, ako to naznačujú značky kódu na obrázku, v obsluhe udalosti tlačidla B „po kliknutí“dôjde k niekoľkým krokom:
- Príznak CHECK je nastavený na True - signál pre BIT na porovnanie jeho odhadu s odhadom hráčov
- Bodovanie pokračuje iba vtedy, ak obaja hráči uhádli čísla vyššie ako nula a v rámci limitu GAME_RANGE (6), a ak nie, nazýva sa funkcia showBadGuess () - hráč s dobrým odhadom získava bod a hráč so zlým odhadom jeden stratí!
- Ak sa hráči domnievajú, že sa zhodujú s BIT, funkcia showWin () sa nazýva - hráč vyhráva toto kolo!
- Ak nie, nazýva sa funkcia showLose () - BIT vyhráva toto kolo!
- Na konci každého kola sa vykoná kontrola pomocou funkcienounceWinner (), aby sa zistilo, či jeden z dvoch hráčov vyhral získaním 3 bodov - ak áno, hra sa skončí a oznámi sa konečný víťaz a všetky skóre a správy resetovať
- BIT reštartuje hru vydaním výzvy volaním na funkciu doChallenge () a čaká, kým hráč zareaguje a postup sa zopakuje
O nových funkciách budeme diskutovať v ďalších krokoch.
Počkaj! Ako uhádnete NULU?
- Ak sa pozriete na náhodnú () matematickú funkciu, vidíte, že jej počiatočná hodnota je nastavená na nulu a nemožno ju zmeniť.
- BIT teda môže v dôsledku tohto obmedzenia uhádnuť nulu a vyzvať hráča
- Podobne môže ľudský hráč odoslať nulový odhad jednoduchým kliknutím na tlačidlo B bez toho, aby najskôr klikol na tlačidlo A!
- Ak je to dovolené, potom ľudský hráč nemusí vynaložiť žiadne úsilie na hranie a to nedáva zmysel!
- Toto obmedzenie bolo preto kompenzované odrážkou č. 2. diskutované vyššie
Krok 9: Výhra/prehra a ostatné funkcie
Všetky tieto funkcie sa nazývajú obslužným programom udalosti „B pri kliknutí“tlačidla B, ako je to vidieť v predchádzajúcom kroku.
Tieto funkcie sú celkom jednoduché a v tejto dobe by ste sa mali zoznámiť s intuitívnou a naratívnou povahou kódu vytvoreného kombináciou vhodne pomenovaných premenných a vizuálnych atribútov editora blokov.
- Funkcia showWin () zobrazuje správu, ktorá naznačuje, že hráč vyhral toto kolo výzvy, a zvýši premennú PLAYER_SCORE o 1.
- Podobne funkcia showLose () zobrazuje hráča, ktorý urobil zlý odhad, a udeľuje bod BIT -u zvýšením premennej BIT_SCORE o 1.
- Funkcia showBadGuess () zobrazuje na obrazovke veľké X, čo naznačuje, že jeden z hráčov zle uhádol (buď 0 alebo viac ako 6) - zlý hráč v tomto prípade stráca bod a druhý získava bod!
A nakoniec, funkcianounceWinner () plní úlohu oznámiť, kto je hlavným víťazom, po 3 kolách výzvy/reakcie, po ktorých nasleduje:
- Resetovanie premenných skóre PLAYER_SCORE a BIT_SCORE
- Krátke pozastavenie a spustenie novej hry zavolaním spúšťacej funkcie showMessage () popísanej v predchádzajúcom kroku (6) tohto IBLE
Nakoniec k simulátoru a kódu!
Krok 10: Simulátor a kód
Kód beží v online simulátore, ktorý sa nachádza tu
- Simulátor sa nachádza v ľavej dolnej časti stránky
- Alternatívne môžete tlačidlo Stiahnuť použiť na stiahnutie kódu v prípade, že máte poruke BBC Microbit
- Ako už bolo spomenuté na začiatku IBLE, na vytváranie kódu v editore blokov ani na simuláciu a testovanie kódu nepotrebujete BBC Microbit, aj keď to nefunguje pre zvedavých jednotlivcov, ako som ja!
Poznámka k tlačidlu Upraviť
- Ak ste si všimli, kód je verejne dostupný a existuje spôsob, ako ho upraviť pomocou tlačidla Upraviť vpravo hore
- Úprimne vás však žiadam, aby ste si urobili kópiu tohto kódu a zmenili ho tak, aby vyhovoval vašim potrebám, aby bola v záujme tohto IBLE zachovaná pôvodná verzia.
Vďaka! A šťastné kódovanie !!!:-)