Prebrali sme už väčšinu príkazov jazyka Imagine. Pomocou týchto príkazov môžete naprogramovať všetky jednoduché hry, ktoré hrávate na počítačoch alebo v mobiloch. Vašou úlohou je naprogramovať hru Tic-Tac-Toe. Stretnete sa pritom s väčšinou problémov a úloh, ktoré pred programátorom vyvstanú, ak chce aby hra bola hrateľná, funkčná, aby dobre vyzerala, aby boli ošetrené všetky možné situácie, …
- Tic-Tac-Toe sa hrá na hracom pláne rozmerov 3×3. Obrázok vľavo
- Hráči striedavo kreslia krúžky a krížiky.
- Komu sa podarí vytvoriť tri rovnaké symboly vodorovne, zvislo alebo po uhlopriečkach vyhrá. Na obrázku vpravo, vyhral hráč, ktorý kreslil krúžky.
- Ak sú všetky políčka obsadené a nik nevytvoril trojicu rovnakých symbolov, hra končí remízou.
- Ďalšiu hru začína druhý hráč
Hru naprogramujeme pomocou procedúr. Ovládať ju budeme myšou a tlačítkom alebo tlačítkami.
Tlačítko Nová hra, spústí procedúru Init, ktorá nastaví východzie postavenie a vytvorí potrebné premenné. So stránkou spojíme udalosť kliknutie myši, ktorá zavolá procedúru Ťah. Kliknutím myši na hracie políčko sa do políčka vykreslí symbol krížik alebo krúžok, podľa toho, ktorý hráč je na ťahu. Ťah hráča sa na obrazovke prejaví vykreslením krúžku alebo krížika. Budeme potrebovať dve procedúry: Krúžok a Krížik, ich vstupným parametrom bude pozícia myši.
Procedúra Init
Procedúra Init nakreslí hrací plán a nastaví pomocné premenné, ktoré určujú, kto je na ťahu, ktoré políčka sú už vyplnené (na začiatku sú všetky prázdne, že je políčko prázdne označíme hodnotou nula, že ju obsadil prvý hráč hodnotou 1, druhý hráč hodnotou 2), …
Procedúra Krúžok
Zdvihneme pero, posunieme sa o polomer kruhu, dáme pero dole otočíme sa o jeden stupeň, urobíme krok, uvedené zopakujeme 360 krát. Môžeme sa otáčať aj o 2 až päť stupňov, potom to budeme opakovať 180 až 72 krát. Krúžok môžeme nakresliť aj tak, že nastaváme farbu na čiernu, zadáme príkaz bod 20, nastavíme farbu na bielu a zadáme príkaz bod 14.
Procedúra Krížik
Otočíme sa o 45 stupňov. Posunieme sa o dĺžku polovice uhlopriečky, vrátime sa o celú uhlopriečku, posunieme sa do východzieho bodu (o polovicu uhlopriečky). Otočíme sa o 90 stupňov a zopakujeme to isté, čo sme robili pri kreslení prvej uhlopriečky.
Procedúra Ťah
Ťah vykoná hráč tak, že kurzorom myši sa postaví na políčko, kam chce nakresliť svoju značku a klikne ľavým tlačítkom myši.
- so stránkou spojíme udalosť kliknutie myši. Keď klikneme myšou, spustí sa procedúra Ťah.
- Procedúra Ťah zistí na akých súradniciach sa myš nachádzala, keď bolo stlačené tlačítko myši, podľa toho, ktorý hráč je na ťahu, zavolá procedúru Krúžok alebo Krížik. Než ich zavolá, mal by zistiť, či sme neklikli mimo hrací plán, ak áno, buď sa nevykoná nič, alebo zahlási, že sme mio hracieho plánu. Tiež by sme mali ošetriť, či políčko na ktorom stojíme už nie je obsadené a tiež by sa nemalo vykonať nič, ak obsadené je, ale sa má vypísať upozornenie.
- Ak bol ťah platný, nakreslí sa symbol. Po vykonaní ťahu, sa zmení číslo hráča z jednotky na dvojku alebo z dvojky na jednotku – budeme používať premennú hráč. V procedúre Init ju vytvoríme a nastavíme na hodnotu 1.
- Keď budú nakreslené tri rovnaké symboly, alebo budú obsadené všetky políčka, program hru vyhodnotí. Vypíše, ktorý hráč vyhral alebo vypíše, Remíza.