Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :- assert(skrzynia(klucz)).
- :- assert(kosci(miecz)).
- :- assert(drzwi(zamkniete)).
- :- assert(walka(zamkniete)).
- :- dynamic location/1.
- :- assert(location(wejscie)).
- /* POŁĄCZENIA POMIEDZY LOKACJAMI */
- path(wejscie, jaskinia).
- path(jaskinia, przepasc).
- path(jaskinia, drabina).
- path(jaskinia, skrzynia).
- path(skrzynia, jaskinia).
- path(drabina, drzwi).
- path(drzwi, pieklo).
- path(pieklo, kosci).
- path(drabina, jaskinia).
- path(drzwi,drabina).
- path(pieklo, demon).
- path(kosci,pieklo).
- /* OPISY LOKACJI */
- info(jaskinia) :-
- write('Znajdujesz sie w ciemnej i mokrej jaskini. Uważaj bo może być niebezpiecznie!'),nl,
- write('Po prawo widzisz skrzynie'),nl,
- write('Po lewo widzisz przepaść'),nl,
- write('Przed toba znajduje sie drabina prowadząca w dół').
- info(drabina) :-
- write('Schodzisz w nieznane...'),nl,
- write('Przed soba widzisz drzwi.').
- info(drabina) :-
- drzwi(zamkniete),
- write('Wchodzisz po drabinie').
- info(drzwi) :-
- drzwi(otwarte),
- write('Otworzyłes drzwi...'),nl,
- write('Widzisz piekło, idziesz dalej czy uciekasz?').
- info(demon) :-
- walka(otwarta),
- write('Po dlugiej walce zabiles demona i ocaliles swiat!'),nl,
- write('Koniec gry! Wygrałeś.'),fail.
- info(demon) :-
- walka(zamkniete),
- write('Rzuciles sie na demona z golymi rekoma. Konczysz jako popiół. Koniec gry.'),fail.
- info(drzwi) :-
- drzwi(zamkniete),
- write('Nie masz klucza!').
- info(pieklo) :-
- not(plecak(miecz)),
- write('Czujesz smród siarki.'),nl,
- write('Widzisz kupe kości. Może warto ją przeszukac?').
- info(pieklo) :-
- plecak(miecz),
- write('Przed toba ukazuje sie potezny demon, walczysz czy uciekasz?').
- info(kosci) :-
- write('Znajdujesz magiczny miecz i wracasz na wczesniejsza sciezke.'),nl,
- retract(walka(zamkniete)),
- assert(plecak(miecz)),
- assert(walka(otwarta)),
- go(pieklo).
- info(przepasc):-
- write('Spadasz w dół i umierasz :( Koniec gry!'),fail.
- info(skrzynia):-
- write('Jesteś ciekawy co znajduje się w środku? Po prostu ją otwórz'),nl,
- write('Znajdujesz klucz'),
- retract(skrzynia(klucz)),
- retract(drzwi(zamkniete)),
- assert(drzwi(otwarte)),
- assert(plecak(klucz)).
- start() :-
- write('Witam w mojej grze! Aktualnie znajdujesz sie przed wejsciem do jaskini.'),nl,
- write('Aby poruszać sie pomiedzy lokacjami wpisz "go(nazwa lokacji)".').
- go(X) :-
- location(Y),
- path(Y,X),
- retract(location(Y)),
- assert(location(X)),
- info(X).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement