4. Skúška z programovania pre 1i, 1MI a 1FI |
1. | Napíšte program, ktorý umožní z farebných
štvorčekov skladať mozaiku:
Na štartovom políčku (v súbore znak '!') sa objaví prvý farebný štvorček z pripraveného radu a hráč ho môže presúvať pomocou šípok po ploche. Program nedovolí posunúť štvorček na obsadené políčko (napr. stena). Akonáhle štvorček príde na ľubovoľné cieľové políčko príslušnej farby, štvorček sa na toto miesto "prilepí" (políčko je obsadené), program pípne a na štartové políčko dá nasledujúci z pripraveného radu. Ak hráč počas presúvania štvorčeka s ním vypadne z hracej plochy, tento sa zaradí na koniec pripraveného radu štvorčekov a program na štartové políčko pripraví momentálne prvý z radu. Hra končí správou HURA, ak sa hráčovi podarí umiestniť všetky farebné štvorčeky z radu. Políčko hracej plochy reprezentujte objektom s metódami
na inicializáciu, vykreslenie a zistenie jeho stavu. Tiež hraciu plochu
reprezentujte objektom.
|
2. | Napíšte program, ktorý umožní dvom hráčom
hrať hru TROJUHOLNÍK.
Najprv sa pomocou Velakor vygeneruje N korytnačiek, ktoré ležia vo vrcholoch pravidelného N-uholníka so stredom v (0,0). Tieto korytnačky majú zmenený tvar na malý žltý krúžok. Na obrazovke sú tieto vrcholy N-uholníka navzájom pospájané čiarami šedej farby každý s každým. Hráči budú striedavo (jeden modrou a druhý červenou farbou) označovať spojnice vrcholov. Hra sa končí, keď niektorý z hráčov označením spojnice uzavrie trojuholník, ktorého strany sú rovnakej farby. Tento trojuholník sa vykreslí (danou farbou) hrubými čiarami a program čaká na stlačenie ESC. Označovanie spojníc sa robí klikaním ľavým tlačidlom myši na vrcholy N-uholníka. Po prvom kliknutí na vrchol sa tento zafarbí farbou príslušného hráča (druhé kliknutie na ten istý vrchol ho odfarbí). Kliknutím na ďalší vrchol, ak ešte spojnica nebola zafarbená, sa táto zafarbí, prvý vrchol sa odfarbí a na ťahu je ďalší hráč. Ak sa snaží zafarbiť už zafarbenú spojnicu (vlastnou alebo protihráčovou farbou), program pípne. N je konštanta programu, napr. N=7. Program by sa mal dať v ľubovoľnom okamihu prerušiť klávesom ESC. |