-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Resitele: Rejta Lukas (xrejta), Brazdil Honza (xbrazdi1)
Hra bude vypisovat rozmisteni figurek po kazdem tahu. Hra prijima prikazy pohyb a otoc ve formatu:
pohyb(X,Y,SmerPohybu)
otoc(X,Y,SmerRotace)
kde X, Y jsou souradnice figurky, SmerPohybu je smer kterym se ma figurka pohnout (sever, severovychod, vychod, jihovychod, jih, jihozapad, zapad, severozapad) a SmerRotace je smer kterym se ma figurka otocit (doprava, doleva).
Pri neplatnem vstupu bude vypisovat chybovou hlasku a da moznost opakovani tahu. Neplatny vstup zahrnuje jak spatny format vstupu, tak nekorektni tahy.
Po uspesnem vstupu provede operaci a spusti laser, pote hraje druhy hrac.
Hra konci po zasahu faraona laserem.
Soubor s vlastnimi rozestavenimi obsahuje fakty figurka(Typ,X,Y,Smer,Barva)
, kde Typ je typ figurky (sfinga, scarab, faraon, anubis, pyramida), X a Y jsou souradnice figurky Smer je smer otoceni fugurky (nahoru, doprava, dolu, doleva) a Barva je barva hrace (stribrny, cerveny).
Rozsah reseni ulohy: korektnost tahu, validni vstup, vyhodnoceni pohybu, vyhodnoceni laseru, podpora vlastnich rozestaveni, textove vystupy.
?- khet() % vychozi rozestaveni CLASSIC %
figurka(sfinga,0,0,dolu,cerveny).
figurka(anubis,5,0,dolu,cerveny).
figurka(faraon,6,0,dolu,cerveny).
figurka(anubis,7,0,dolu,cerveny).
...
figurka(sfinga,9,7,nahoru,stribrny).
...
cerveny na tahu
-pohyb(5,0,nahoru).
spatne!
-otoc(5,0,doleva).
Laser minul!
figurka(sfinga,0,0,dolu,cerveny).
figurka(anubis,5,0,doprava,cerveny).
figurka(faraon,6,0,dolu,cerveny).
figurka(anubis,7,0,dolu,cerveny).
...
figurka(sfinga,9,7,nahoru,stribrny).
...
stribrny na tahu
...
stribrny vyhral!
yes
?- khet(dynasty.pl) % nacte vychozi rozestaveni dynasty.pl %
figurka(sfinga,0,0,dolu,cerveny).
...
cerveny na tahu
...
?- khet(spatny.pl) % nacte spatne (figurky mimo pole, dve na sobe, ...) vychozi rozestaveni spatny.pl %
Spatne vychozi rozestaveni.
fail
Pro ovladani vymyslete nejake efektivni zkratky, jinak se hrac upise.
Muzete zachovat i to navrzene ovladani, ale pridejte i neco ve stylu
pohyb: 50^
41v
otoc: 50@>
Ulohu sice reste bez grafiky ale s pomoci textu, tim jsem myslela,
ze zobrazeni herniho pole bude pomoci znaku, ne jako vypis predikatu,
napriklad zde se nabizi 3 znakova reprezentace figurky:
Gv*
A^#
F*>
<S#
(souradnice se odectou z pozice),
aby to pomohlo vizualni predstave, kam figurky miri a ci jsou.
To jen pro inspiraci, zavedte znaceni, jake uznate za vhodne.