Skúška2
8.1.2009
časový limit: 2.5 hod
http://dai.fmph.uniba.sk/courses/JAVA/Skusky2008/KKOdysea.html
Koňská odysea je logická hra, v ktorej na neúplnej šachovnici stojí šachový kôň snažiaci sa dostať v časovom limite 60 sekúnd na predpísané (zelené) políčko šachovnice, to predstavuje prechod do vyššej úrovne hry. Kôň sa pohybuje ako v šachu, ale len po políčkach šachovnice, ktoré tvoria hraciu plochu (tradične vo farbách šachovnice: čierne a biele). Jediným statickým nepriateľom koňa je šachová figúrka kráľa, ktorý ohrozuje všetky jemu susedné políčka - podobne ako v šachu. Na políčko, kde stojí kráľ, ani jemu susedné, kôň nesmie vkročiť. Kráľ sa nehýbe.
Hra má niekoľko úrovní. Konfiguračné súbory k jednotlivým úrovniam sa nachádzajú v súboroch Leveli.txt. Tie obsahujú obdĺžnik znakov pozostávajúci: # - políčko hracej plochy, k - kôň, K - kráľ, E - cieľové políčko, kam sa kôň má dostať (prechod do vyššej úrovne), '.' - políčko nepatriace do hracej plochy. Rozmery obdĺžnika určuje počet riadkov a dĺžka prvého riadku v súbore Leveli.txt.
Úlohy:
Zo súborov nachádzajúcich sa v KKOdysea.zip načítajte konfiguráciu hracej plochy pre prvú úroveň, t.j. Level1.txt. Zobrazte hraciu plochu tak, aby políčka s rôznou funkčnosťou boli zobrazené odlišne. Forma prezentácie nie je predpísana, jednu z možností vidite nižšie (figurky nájdete v KKOdysea.zip): [9 bodov- 5 bodov čítanie, 4 body zobrazenie].
Hráč hýbe koňom po hracej ploche pomocou myši. Kôň sa svojim koňským pohybom "2x1" môže pohybovať len po políčkach hracej plochy [3 body]. Ak stúpi na kráľa, resp. na pole ním ohrozené, hráč začína tú istú úroveň od znova [2 body]. Ak stúpi na políčko, na ktorom už bol, hráč sa to dozvie [2 body]. Polia, na ktoré kôň môže vstúpiť sú označené, ako nápoveda pre hráča [2 body]. Ak sa kôň dostane na zelené pole E prechodu do ďalšej úrovne, načíta a zobrazí sa ďalšia úroveň hry [2 body].