Micro:bit má spousty zajímavých senzorů – například akcelerometr, který měří natočení. Ten použijeme k ovládání dnešní hry. Princip hry Nakláněním micro:bitu do stran můžeme ovládat kočku, která má za úkol chytit během deseti sekund co nejvíc myší. Ty se naštěstí nepohybují, i tak to ale bude výzva.
Kočka (Sprite): Vytvoření proměnné a postavičky
Začneme herní postavičkou (sprite) – kočkou. Vytvoříme novou proměnnou v sekci Proměnné > vytvořit proměnnou a pojmenujeme ji „Kočka“. Do sekce při startu přidáme ze sekce Proměnné příkaz nastav Kočka na a ze sekce Hra (v sekci Pokročilé) zacvakneme příkaz vytvoř sprite na x a y.
Jakmile se micro:bit restartuje, měla by uprostřed obrazovky svítit jedna červená tečka – kočka. Po spuštění hry umístíme kočku doprostřed obrazovky.
Ovládání Kočky: Pohyb pomocí akcelerometru
Kočku chceme ovládat natočením micro:bitu do stran. K tomu použijeme akcelerometr, který měří, jak moc je micro:bit natočený. Když bude micro:bit nakloněný doprava, chceme posunout kočku o jedno políčko vpravo.
Do sekce opakuj stále přidáme podmínku když (ze sekce Logika), do příkazu zacvakneme porovnání 0 < 0 a nakonec přidáme natočení příčně ze sekce Vstup > více. Úhel natočení nastavíme například na 30° a poté do podmínky přidáme příkaz pro Kočka změň x o 1 ze sekce Hra.
Jakmile se simulátor restartuje, můžeme si hru vyzkoušet. Myší (tou počítačovou) můžeme micro:bit naklánět do stran. Když je micro:bit nakloněný doprava, kočka se také posune směrem vpravo.
Programujeme komplexní pohyb (X a Y osa)
Pro pohyb i na ostatní strany stačí podmínku zkopírovat a upravit parametry. Natočení vlevo nebo vpravo je příčné natočení, v tom případě chceme měnit pozici x. Natočení nahoru nebo dolů je podélné natočení, a proto budeme měnit pozici y.
Když už máme všechny podmínky přidané, můžeme přidat i krátkou pauzu (čekej 100 ms). Teď už se může kočka pohybovat po celé ploše. Nakláněním micro:bitu se může kočka pohybovat po celé ploše.
Přidání cíle: Programování Myši a blikání
Aby měla kočka co chytat, přidáme myš. Stejným způsobem jako jsme vytvořili kočku, vytvoříme i myš, jen nastavíme jinou pozici, aby se hned nestřetly. Pro lepší rozlišení kočky a myši může myš blikat. To provedeme příkazem pro Myš nastav blikání na 100 ze sekce Hra, který přidáme do sekce při startu.
Logika kolize: Detekce dotyku a skóre
Zbývá už jenom vědět, zda kočka chytla myš. Přidáme podmínku když a do ní zacvakneme příkaz se sprite dotýká ze sekce Hra. Sprite změníme na Kočka a Myš. Pokud se navzájem dotýkají, přičteme skóre – příkazem změň skóre o 1 ze sekce Hra. Poté přesuneme Myš na jiné místo.
Přidáme příkaz pro Myš nastav x na a do něj zacvakneme příkaz náhodné číslo v rozmezí 0–4 ze sekce Matematika. Stejným způsobem nastavíme i pozici y na náhodné číslo. Když kočka chytne myš, zvýšíme skóre a myš skočí na nové místo.
Spuštění odpočítávání: Nastavení časového limitu (10 sekund)
Jak udělat hru zábavnější? Bude trvat pouhých 10 sekund. Během tohoto času musíme chytnou co nejvíc myší. K tomu stačí do sekce při startu přidat příkaz spusť odpočítávání (ms) 10 000 ze sekce Hra.
Závěr: Testování hry na simulátoru a micro:bitu
Přestože lze hru hrát na simulátoru, mnohem lepší zážitek je hrát ji na skutečném micro:bitu, kde opravdu musíme destičku naklánět do stran. A co dál? Zkuste třeba rozpohybovat i myš. Hodně štěstí s programováním!