Aplikace A10 Elektronická hrací kostka

jako poslední program prvé etapy naprogramujeme elektronickou hrací kostku.

název: Elektronická hrací kostka
kategorie: A začátečníci
ref.číslo: A10
projekt: prvních 10 dní s microbitem, lekce 10
verze: 01, 2017-03-17
autor: Ivo Obr, Lanškroun


Tato lekce byla napsána pro Microsoft Block Editor. Ten už byl bohužel stažen ze stránek microbit.org. Proto si můžete spustit tento editor na následující adrese :
https://www.microbit.co.uk/app/#create:xczaux
Zatím tam původní editor stále ještě funguje. Lze také lekce zpracovávat na JavaScrip Block Editoru, jsou tam malé odchylky, které ale nemusí být na závadu.

Kdo došel až sem do desáté lekce, může si blahopřát. Jste na konci první etapy – programátorů začátečníků. Konec první etapy ale neznamená, že pokud se chceme stát opravdu programátory, budeme muset těch etap zvládnout více. Důležité bylo v těchto prvních lekcí porozumět obsahu. Kdo si jen hrál s bloky jako s kostičkami, a skládal je podle návodu, a nepřemýšlel o tom, proč se zrovna skládají tak a ne jinak, pak by se měl vrátit zpět a cestu od lekce A1 začít znovu.

Myslím si však, že většina z Vás tomu začíná rozumět, a tak si jako poslední program prvé etapy naprogramujeme elektronickou hrací kostku. Také to bude poslední lekce, kde zatím nepotřebujeme mít nutně destičku Micro:bit, postačíme si s webovou aplikací.  Od lekce A11 už si s některými programy s touto aplikací nevystačíme a budeme mikropočítač potřebovat.

Tak do toho : Všichni znají dřevěnou hrací kostku na “Člověče nezlob se” nebo jiné deskové hry. Víme že krychle má šest stran a na každé straně kostky je jiné číslo a to od jedné do šesti. Čísla jsou vytvořena barevnými tečkami, my použijeme matici 5×5 LED diod, na které pohodlně barevné tečky vytvoříme zapnutými LED diodami. Pro nás to budou bloky “show leds”, šest jich bude pro čísla od jedné do šesti, sedmý bude úvodní.

Vytvoříme si proměnnou se jménem “hod” (jako že hodíme kostkou), do které budeme vkládat čísla, která budou “padat” (od 1 do 6). Na začátku si do této proměnné vložíme nulu a ta bude reprezentovat úvodní obrázek.

Jak to tedy bude s tím “padáním čísel”. Když hodíte hrací kostkou, tak když se dokutálí, bude na  její horní straně číslo, které “padlo náhodně”. V mikropočítači je už z výroby umístěn program, který vytváří (říkáme že generuje) náhodná čísla. Ve skutečnosti to úplně náhodná čísla nejsou, říkáme jim pseudonáhodná, ale pro naše účely jsou naprosto postačující. K vygenerování náhodného čísla slouží blok z nabídky Maths a jmenuje “pick random”.

Pokud je tento blok mikropočítačem proveden, vygeneruje pseudonáhodné  celé číslo v rozsahu od nuly do čtyř včetně. Takže to může být jedno číslo ze seznamu 0, 1, 2, 3, 4. (seznam má pět hodnot).

Které to bude je náhodné. Každé z těchto čísel má stejnou pravděpodobnost, že padne. Začátek intervalu čísel měnit nemůžeme, je to vždy nula. Druhou hodnotu však měnit můžeme. Pro naše potřeby hrací kostky potřebujeme 6 čísel, pokud začínají od nuly bude poslední číslo 5. (bude to šest hodnot). Řekli jsme si, že vygenerované číslo dáme do proměnné “hod”. Na kostce jsou čísla 1-6, nikoliv 0-5. Tak to jednoduše upravíme tak, že k vygenerované hodnotě čísla (která je v proměnné “hod” přičteme jedničku. Bude to vypadat takto :

Po přičtení jedničky k vygenerovanému číslu už v proměnné “hod” budou správné hodnoty – náhodně od 1 do 6.

Generování náhodného čísla spustíme pomocí stisku tlačítka “A” na mikropočítači. Funkci  tlačítek už jsme si vysvětlili v minulých lekcích. Takže budeme čekat na stisk tlačítka “A”. Jakmile ho stiskneme – to je naše hození hrací kostkou, vygenerujeme náhodné číslo a čekáme, až hráč stisk tlačítka “A” dokončí. Pak na základě hodnoty v proměnné na displeji zobrazíme patřičný obrázek k číslu.

Na dalším obrázku je začátek tvorby programu. Vlevo na obrázku jsou bloky, které nám po zapnutí mikropočítače vypíšou na displeji “HRACI KOSTKA”.  Protože na úplném začátku jsme vložili do proměnné hod nulu, bude blok “while” vypisovat šipku, ukazující na tlačítko “A”.

Vytvoříme si samostatně blok “if” a do jeho kleští dáme blok “show leds” u kterého nastavíme zobrazení jedničky. Nezapomeňte také v bloku “if” nastavit proměnnou na “hod”. Pomocí kopírování bloku si rozkopírujeme blok “if ” na dalších pět a upravíme testované hodnoty na 2 až 6,  u bloků “show leds” upravíme rozsvícení diod dle mého nebo Vašeho jiného návrhu.

Všechny samostatné bloky “if” naskládáme za sebe podle hodnot do kleští bloku “while”.

Zbývá nám doplnit program o tlačítka a generování náhodného čísla. Na dalším obrázku je uveden konec celého programu :

První blok “while” čeká na stisknutí tlačítka, druhý blok “while” čeká na jeho uvolnění.

Program je hotov a můžeme si ho rychle uložit, aby jsme ho neztratili špatnou manipulací nebo vypnutím počítače. (do MICROLA se jménem HRACÍ KOSTKA I.)

Znovu si program projdeme od začátku do konce a provedeme pečlivou kontrolu. Program si spustíme ikonou run  a vyzkoušíme. Pokud funguje tak, jak jsme si popsali výše, je to OK a máme první užitečný program, který můžeme používat v rodině nebo u přátel. 🙂

Úkoly pro tuto lekci :

  • protože naše kostka je elektronická, můžeme s výhodou zvýšit počet stran elektronické kostky, například i pro čísla 7, 8 a 9. Vyzkoušejte si elektronickou kostku, na které padají čísla od 1 do 9.
  • protože nám zbylo tlačítko “B” volné, můžeme ho využít k tomu, že si program el. kostky můžeme přepínat mezi verzí pro šest čísel a verzí pro 9 čísel. Toto je už přeci jen obtížnější, a tak si to vyzkoušíme až v lekci A11. Zatím o tom přemýšlejte a navrhujte, jak to udělat.

 

 

 

Tímto končí naše úvodní lekce do programování. Ještě jsme si nevyzkoušely některé bloky a činnosti, které nám “Block Editor” nabízí. To už je obsahem dalších lekcí od A11. Doufám, že Vás programování začalo bavit a těšíte se na zajímavé nápady, co vše se dá s Micro:bit udělat. Až Vám bude vše jasné při psaní programů pomocí bloků, můžete přejít k psaní programů pomocí programovacích jazyků. To už je ale obsahem lekcí od B1.

Tak pěknou zábavu!  :-))

Z lekce A9 obrázek programu, kde  stisky obou tlačítek jsou naprogramovány jako události:

 

stavA:      true – zapnuto             false – vypnuto

stavB:      true – jas 255              false – jas 127

 

 

 

Posted in kat A - začátečníci.