Skip to content
janinko edited this page Apr 19, 2012 · 4 revisions

Resitele: Rejta Lukas (xrejta), Brazdil Honza (xbrazdi1)

Analyza

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

Pripominky

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.

Clone this wiki locally