1. Skúška z programovania pre 1i, 1MI a 1FI |
1. | Naprogramujte hru Robinson:
Políčka hracej plochy aj hráča realizujte pomocou objektov, pričom okrem inicializačnej metódy zadefinujte aj metódu na vykreslenie objektu do video-pamäti (nepoužívajte GotoXY) a tiež pre políčko hracej plochy metódu na zmenu stavu (napr. postupné ponáranie ostrova, vynorenie ostrova a pod.). Úplne vynorený ostrov je vykreslený znakom #219, postupné ponáranie je zobrazené znakmi #178, #177, #176; more by malo byť modré. Program by sa mal dať v ľubovoľnom okamihu prerušiť klávesom ESC. |
2. | Vytvorte triedu MojaKor, ktorá má pridanú
stavovú premennú sused:PKor a metódy ZmenSused a UrobTvar. Stavová premenná
sused má pri inicializácii hodnotu NIL, metóda ZmenSused (s parametrom
typu PKor) priradí do stavovej premennej sused zadanú hodnotu. Metóda UrobTvar
(bez parametrov) zmení tvar korynačky tak, že tvarom bude úsečka dĺžky
vzdialenosti k susedovi a táto úsečka bude natočená k tomuto susedovi.
Váš program najprv vygeneruje N takýchto korytnačiek na náhodných pozíciách v ploche. Potom každej korytnačke priradí ako suseda nasledovnú korytnačku (i+1), resp. N-tej priradí prvú. Príkaz UKAZ by mal zobraziť spojnice medzi korytnačkami. Ďalej program umožní pomocou myši ťahať ľubovoľnú korytnačku, pričom sa niektorým korytnačkám bude musieť meniť tvar tak (pomocou UrobTvar), aby spojnice stále spájali susedné korytnačky. Môžete použiť len unity KorUnit, VelaUnit a MysUnit. |