4. Skúška z programovania pre 1i, 1MI a 1FI
12.1.1999 po

 
1.

testovací textový súbor

Napíšte program, ktorý umožní z farebných štvorčekov skladať mozaiku:
  • hracia plocha, do ktorej sa bude skladať mozaika je popísaná v súbore mozaika.txt:
  • prvý riadok obsahuje dve čísla VYS a SIR, ktoré označujú veľkosť štvorčeka štvorcovej siete;
  • ďalšie riadky súboru popisujú M riadkov hracej plochy, pričom každý riadok je rovnako dlhý a obsahuje N políčok – každé políčko je popísané jedným znakom (char):
    • '.' – políčko hracej plochy je prázdne (vykreslí sa čiernou farbou);
    • '*' – na políčku je stena, cez ktorú sa nedá prechádzať (vykreslí sa bielou farbou);
    • '!' – štartové políčko je tiež prázdne, ale sem sa neskôr budú generovať farebné štvorčeky mozaiky;
    • 'r', 'g', 'b', 'y' – cieľové políčka pre rôzne farebné štvorčeky (r=červená; g=zelená; b=modrá; y=žltá) – políčko sa vykreslí vybodkované, pričom bodky sú príslušnej farby.
Na začiatku hry program vykreslí načítanú hraciu plochu, pričom časť obrazovky mimo hracej plochy bude šedá. Ďalej si pripraví rad farebných štvorčekov, v ktorom je zastúpený presný počet z každej farby (podľa r,g,b,y zo vstupného súboru). Tento rad bude náhodne pomiešaný.
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.
Program by sa mal dať v ľubovoľnom okamihu prerušiť klávesom ESC. 
Nepoužívajte GotoXY.


 
 
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.