Programování s micro:bitem a Teodorem: Legendární Had na micro:bitu (10. díl)

Programování s micro:bitem a Teodorem: Legendární Had na micro:bitu (10. díl)
Sdílej
 
Naučte se naprogramovat legendární hru Had (Snake), která před lety odstartovala éru mobilního hraní. V tomto návodu pro micro:bit si ukážeme, jak vytvořit pohybující se hlavu, rostoucí ocas i sbírání jídla v prostředí MakeCode. Ideální projekt pro malé programátory!

Pohyb hlavy hada v MakeCode

Had (snake) je nejznámější hra z tlačítkových telefonů, která před téměř 30 lety započala éru mobilního hraní.

V původní hře ovládáte hada čtyřmi směrovými šipkami, ale protože na micro:bitu jsou tlačítka pouze dvě, budeme s hadem zatáčet do stran. Naším úkolem je sníst co nejvíc potravy bez toho, abychom narazili do svého ocasu nebo do zdi.

Začneme hlavou – vytvoříme novou proměnnou „Hlava“ a v sekci při startu ji nastavíme na nový sprite na pozici vlevo nahoře (pozice x: 0 a y: 0). V sekci opakuj stále hlavu vždy posuneme o jedno políčko příkazem posuň Hlava o 1.

Programování pohybu hlavy hada na micro:bitu pomocí bloků v MakeCode. •  Václav Krejčí

Abychom mohli hlavu ovládat, přidáme příkazy při stisknutí tlačítka A (a tlačítka B) a do nich zacvakneme příkaz otoč Hlava směrem vpravo (a vlevo) o 90°. Nezapomeneme na příkazy čekej, ať se hlava nehýbe moc rychle a hra není moc obtížná.

Jak vytvořit jídlo a sbírat skóre

Jídlo je další proměnná, kterou opět vytvoříme, ale tentokrát nastavíme náhodnou pozici (náhodné číslo od 0 do 4 pro pozici x a y). V sekci opakuj stále poté přidáme podmínku když, a chceme vědět, zda se hlava dotýká jídla.

Nastavení náhodné pozice jídla a sbírání skóre. •  Václav Krejčí

Pokud se tak stane, zvýšíme skóre příkazem změň skóre o 1, a pro jídlo nastavíme novou náhodou pozici příkazem pro Jídlo nastav x (a y) na náhodné číslo od 0 do 4. Abychom rozeznali hlavu od jídla, bude jídlo blikat – příkazem pro Jídlo nastav blikání na 100.

Práce se seznamy:

Jak naprogramovat ocas hada

Protože ocas může být jakkoliv dlouhý, nebudeme vytvářet proměnnou pro každý jednotlivý článek, ale vytvoříme seznam. Nejprve vytvoříme proměnnou Ocas a tu nastavíme na nový seznam příkazem prázdný seznam ze sekce Seznamy.

Využití seznamů v MakeCode pro tvorbu rostoucího ocasu. •  Václav Krejčí

V sekci opakuj stále před posunutím hlavy přidáme nový sprite na začátek seznamu, který bude mít stejnou pozici jako hlava (vlož na začátek Ocas prvek). Tím zároveň ocas o jeden článek povyroste – což chceme, pokud hlava sní jídlo. Pokud ale jídlo nesní, ocas opět zkrátíme příkazem odstraň poslední prvek z Ocas.

Detekce kolize a ukončení hry

Poslední věc, která hře chybí, je narážení do vlastního ocasu a do zdí. Ze sekce Smyčky přidáme příkaz pro prvek Hodnota ze seznamu, a pro každý prvek ze seznamu Ocas zjistíme, zda se dotýká hlavy. Pokud se tak stane, ukončíme hru příkazem konec hry.

Kompletní kód hry Had (Snake) pro BBC micro:bit. •  Václav Krejčí

A tím končí nejenom dnešní hra, ale zároveň i tento seriál. Věřím, že jste se něco nového naučili, a přeji hodně štěstí s programováním.

Programování s micro:bitem a Teodorem: Vytvořte si vlastní Space Invaders (9. díl)

Programování s micro:bitem a Teodorem: Vytvořte si vlastní Space Invaders (9. díl)

Programování s micro:bitem a Teodorem: Návod na hru Zneškodni bombu (8. díl)

Programování s micro:bitem a Teodorem: Návod na hru Zneškodni bombu (8. díl)

Programování s micro:bitem a Teodorem: Návod na hru Kočka a myš (7. díl)

Programování s micro:bitem a Teodorem: Návod na hru Kočka a myš (7. díl)

Autor

Václav Krejčí

 

Články odjinud