Programování s micro:bitem a Teodorem: Jak udělat hru Kámen-nůžky-papír (2. díl)

Programování s micro:bitem a Teodorem: Jak udělat hru Kámen-nůžky-papír (2. díl)
Sdílej
 
Chcete si vyzkoušet programování a vytvořit vlastní funkční hru? V tomto jednoduchém návodu pro začátečníky si ukážeme, jak krok za krokem naprogramovat oblíbenou hru Kámen, nůžky, papír na desce micro:bit. Naučíte se používat základní logické příkazy, pracovat s náhodou a zobrazovat obrázky. Pusťte se do toho, je to hračka!

Hru kámen-nůžky-papír jste už jistě někdy hráli, ale pravděpodobně ne proti stroji. V tomto díle seriálu si ukážeme, jak si hru naprogramovat a zahrát proti micro:bitu.

Jak hra funguje

Ke hře jsou potřeba dva – v našem případě micro:bit a lidský protihráč. Po stisku tlačítka A se na micro:bitu ukáže odpočítávání, ať máme čas na rozmyšlenou. Jakmile odpočítávání skončí, ukážeme rukou jeden ze symbolů a zároveň se na displeji micro:bitu zobrazí kámen, nůžky nebo papír. Kámen tupí nůžky, nůžky stříhají papír a papír zabalí kámen.

Hra funguje velice jednoduše – micro:bit nevidí, jaký symbol ukazujeme, a jen náhodně zobrazuje jeden ze tří obrázků. Přesto je hra zábavná.

LED displej desky micro:bit má sice jen 25 diod (5x5), ale pro zobrazení ikon pro hru Kámen, nůžky, papír to bohatě stačí. V našem návodu si ukážeme, jak si navrhnout vlastní obrázky! •  Václav Krejčí

Základy logiky – příkaz KDYŽ / JINAK

V programování se velice často rozhodujeme mezi několika možnostmi a k tomu používáme příkaz když/jinak. Bloky zacvaknuté uvnitř příkazu když se provedou pouze, když je splněná daná podmínka. Tu si můžeme představit jako větu (otázku), na kterou odpovíme pravda nebo nepravda (anglicky true/false).

Pokud chceme náhodně vykonávat příkazy zacvaknuté v sekci když, můžeme jako podmínku zvolit příkaz náhodně pravda/nepravda. Micro:bit nejprve náhodně nastaví podmínku na pravdu nebo nepravdu. Pokud je podmínka pravda, provede se příkaz ze sekce když. Pokud je podmínka nepravda, provede se příkaz ze sekce jinak.

Programujeme zjednodušenou hru (kámen a nůžky, papír nechce stranou)

Pojďme začít zjednodušenou verzí hry, kdy při stisku tlačítka A náhodně ukážeme kámen nebo nůžky. Ze sekce Vstup přidáme příkaz při stisknutí tlačítka A a do něj zacvakneme příkaz když ze sekce Logika (použijeme verzi příkazu když/jinak). Jako podmínku zvolíme náhodně pravda/nepravda ze sekce Matematika. Nakonec do příkazu když zacvakneme příkaz ukaž ikonu ze sekce Základní a obrázek změníme na kámen.

Stejným způsobem zacvakneme ještě jeden příkaz ukaž ikonu do jinak, ale tentokrát nastavíme obrázek na nůžky. Pokud se nám obrázky nelíbí, můžeme použít příkaz ukaž tvar a nakreslit vlastní obrázek.

První funkční verze naší hry pro micro:bit. V tomto kroku program zatím umí náhodně zobrazit jen kámen nebo nůžky •  Václav Krejčí

Přidáváme papír a rozšiřujeme kód

Naše hra už funguje, ale není moc zábavná. Po stisku tlačítka A se náhodně ukáže kámen nebo nůžky, ale lidskému protihráči stačí neustále ukazovat kámen. Buď vyhraje (micro:bit ukáže nůžky), nebo hra skončí remízou (micro:bit ukáže také kámen).

Rozšíříme proto naši podmínku ještě o jednu možnost – klikneme na malé tlačítko plus u podmínky když. Tím se přidá další část, do které můžeme zacvaknout příkaz ukaž ikonu s obrázkem papíru. Jako podmínku opět zvolíme náhodně pravda/nepravda.

Když nyní stiskneme tlačítko A, micro:bit náhodně zvolí pravda nebo nepravda. Pokud zvolil pravdu, ukáže se kámen. Pokud nepravdu, znovu náhodně zvolí pravda nebo nepravdu. Při pravdě se ukáže papír, při nepravdě nůžky.

A je to! Takto vypadá finální kód pro hru Kámen, nůžky, papír na micro:bitu. Obsahuje logiku pro všechny tři symboly i závěrečné vylepšení s odpočítáváním •  Václav Krejčí

Vylepšení hry – přidáváme odpočítávání

Hra už funguje, jak má, ale můžeme ji ještě vylepšit. Co třeba před zobrazením obrázku přidat odpočet? K tomu použijeme bloky zobraz číslo a čekej, oba ze sekce Základní. Zobrazíme postupně čísla tři, dva a jedna a mezitím budeme čekat 100 ms (milisekund). To je desetina sekundy. Zdá se to málo, ale i příkaz zobraz číslo chvilku čeká, takže času bude dostatek. Výsledný program si můžete prohlédnout uprostřed stránky.

Co dál? Nápady na další vylepšení

Bylo to moc jednoduché? Zkuste hru vylepšit přidáním zvuků ze sekce Hudba, nebo místo odpočítávání nakreslete animaci pomocí příkazů ukaž tvar.

Naše hra není úplně spravedlivá, jeden symbol ukazuje více než ostatní. Zkuste hru chvilku hrát a zapisovat si, co micro:bit ukázal. Který symbol se ukazuje častěji? Přijdete na to, proč tomu tak je?

Programování s micro:bitem a Teodorem: Začněte jednoduše (1. díl)

Programování s micro:bitem a Teodorem: Začněte jednoduše (1. díl)

Umělá inteligence s ABC: 5 tipů, jak se dál zlepšovat v práci s AI

Umělá inteligence s ABC: 5 tipů, jak se dál zlepšovat v práci s AI

The Spectrum: Legenda je zpět a hraje retro barvami

The Spectrum: Legenda je zpět a hraje retro barvami

Autor

Václav Krejčí

Programování s micro:bitem a Teodorem: Jak udělat hru Opice chytá banány (6. díl)Programování s micro:bitem a Teodorem: Hra na postřeh – Návod na test reakce (5. díl)Programování s micro:bitem a Teodorem: Jak naprogramovat jednoduchou hru (4. díl)
 

Články odjinud