Úlohy celoštátneho kola 13. ročníka súťaže Imagine Logo Cup

1. Optický klam
Maliar Oliver zistil, že niekedy, keď nakreslí nejaký obrázok a lepšie sa naň pozrie, uvidí na ňom dokonca hneď niekoľko obrázkov. Takto sa mu podarilo nakresliť šesť šesťuholníkov. Tie potom vyfarbil tromi farbami tak, ako je to na obrázku. Keď sa potom na tento obrázok lepšie pozrel, videl v ňom aj tri kocky, ktoré majú žltú hornú stenu a potom ešte aj také tri kocky, ktoré majú zelenú hornú stenu. Obrázok je tzv. optický klam.
Navrhni príkaz optKlam so štyrmi parametrami – dĺžkou strany šesťuholníka a tromi číslami farieb, ktorý týmito farbami vyfarbí nakreslené časti šesťuholníkov. Nakoniec napíš príkaz start (bez parametrov!), ktorý volaním príkazu optKlam s príslušným počtom parametrov nakreslí rovnaký obrázok ako Oliver (čísla farieb sú 9, 10 a 14 v poradí modrá, zelená a žltá).



2. Cesty
Šimon chce ísť na návštevu k Filipovi. Jeho otec ho tam odvezie autom, ale najprv chce túto cestu vidieť na mape mesta.
Navrhni program, ktorý na obrazovke prejde autom od Šimonovho domu k Filipovmu a nakreslí túto cestu. Auto začne cestu pri Šimonovom dome, potom bude pomaly prechádzať na mape mesta a bude za sebou kresliť červenú čiaru. Do projektu priprav tri tlačidlá, ktoré nakreslia tri rôzne cesty od Šimona k Filipovi. Pred začiatkom kreslenia každej cesty načítaj do pozadia pôvodnú mapu mesta a auto umiestni k Šimonovmu domu. Šírka cesty a tiež aj šírka a dĺžka štvorcového domu je 50 bodov. Obrázok mesta je v súbore mesto.lgf. Pripravený je aj obrázok auto.lgf.


3. Uprac kruhy
Navrhni projekt, ktorý umožní jednému hráčovi hrať hru Uprac kruhy. Hracia plocha sa skladá z tridsiatich šiestich hracích políčok rôzneho tvaru a veľkosti. Tieto políčka sa dajú upratať tak, že tvoria kruh rozdelený na šesť častí rovnakej farby ako je to na prvom obrázku.
Keď však hráč začína hru, farby na políčkach sú rozhádzané. Jeho úlohou je upratať ich pomocou klikania. Hráč môže kliknúť buď na niektoré najmenšie políčko (šesť najmenších políčok uprostred kruhu) alebo na niektorú sivú bodku.
  1. Ak hráč klikne na niektoré zo šiestich najmenších políčok v strede kruhu, posunú sa farby v jeho šestine tak, že v rámci tejto šestiny kruhu sa farby políčkach presunú. Väčšie políčko vždy preberie farbu menšieho políčka. Na našom obrázku je tretia šestina pred posunom farieb a po ich posune, v ktorom sa najväčšie, teda zelené políčko, prefarbilo na modro, modré na žlto, žlté na fialovo, fialové na hnedo a hnedé políčko na zeleno, teda farbou najväčšieho políčka. Úplne najmenšie políčko (v našej šestine má červenú farbu) nikdy nemení svoju farbu.
  2. Ak hráč kline na sivú bodku, posunú sa farby na rovnako veľkých políčkach v smere pohybu hodinových ručičiek. Na našom obrázku sa posunuli druhé najväčšie políčka. Takto sa dajú posúvať farby na všetkých políčkach okrem najmenších políčok v strede kruhu (na tých nie je ani sivá bodka). Sivá bodka zostane na mieste.
Program najprv načíta hrací plán a urobí niekoľko posunov farieb tak, aby sa políčka pomiešali. Potom dovolí hráčovi klikať na jedno zo šiestich najmenších políčok alebo na sivé bodky. Program pritom prefarbuje políčka tak, ako je popísané vyššie. Po uprataní všetkých farieb sa vypíše správa HOTOVO.
Nezabudni napísať príkaz start, ktorý načíta hraciu plochu, pomieša farby podľa spomínaných pravidiel a dovolí hráčovi upratovať ich. Pripravené sú súbory hPlan.lgf, sivaBodka.lgf a najmensie1.lgfnajmensie6.lgf, v ktorých sú najmenšie políčka zo stredu kruhu. Hrúbka políčok je 30 bodov.



© Monika Tomcsányiová