Advertisement
Guest User

Untitled

a guest
May 27th, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1. :- assert(skrzynia(klucz)).
  2. :- assert(kosci(miecz)).
  3. :- assert(drzwi(zamkniete)).
  4. :- assert(walka(zamkniete)).
  5. :- dynamic location/1.
  6. :- assert(location(wejscie)).
  7.  
  8.  
  9.  
  10. /* POŁĄCZENIA POMIEDZY LOKACJAMI */
  11.  
  12. path(wejscie, jaskinia).
  13. path(jaskinia, przepasc).
  14. path(jaskinia, drabina).
  15. path(jaskinia, skrzynia).
  16. path(skrzynia, jaskinia).
  17. path(drabina, drzwi).
  18. path(drzwi, pieklo).
  19. path(pieklo, kosci).
  20. path(drabina, jaskinia).
  21. path(drzwi,drabina).
  22. path(pieklo, demon).
  23. path(kosci,pieklo).
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31. /* OPISY LOKACJI */
  32.  
  33. info(jaskinia) :-
  34. write('Znajdujesz sie w ciemnej i mokrej jaskini. Uważaj bo może być niebezpiecznie!'),nl,
  35. write('Po prawo widzisz skrzynie'),nl,
  36. write('Po lewo widzisz przepaść'),nl,
  37. write('Przed toba znajduje sie drabina prowadząca w dół').
  38.  
  39. info(drabina) :-
  40. write('Schodzisz w nieznane...'),nl,
  41. write('Przed soba widzisz drzwi.').
  42.  
  43.  
  44. info(drabina) :-
  45. drzwi(zamkniete),
  46. write('Wchodzisz po drabinie').
  47.  
  48. info(drzwi) :-
  49. drzwi(otwarte),
  50. write('Otworzyłes drzwi...'),nl,
  51. write('Widzisz piekło, idziesz dalej czy uciekasz?').
  52.  
  53. info(demon) :-
  54. walka(otwarta),
  55. write('Po dlugiej walce zabiles demona i ocaliles swiat!'),nl,
  56. write('Koniec gry! Wygrałeś.'),fail.
  57. info(demon) :-
  58. walka(zamkniete),
  59. write('Rzuciles sie na demona z golymi rekoma. Konczysz jako popiół. Koniec gry.'),fail.
  60.  
  61. info(drzwi) :-
  62. drzwi(zamkniete),
  63. write('Nie masz klucza!').
  64.  
  65. info(pieklo) :-
  66. not(plecak(miecz)),
  67. write('Czujesz smród siarki.'),nl,
  68. write('Widzisz kupe kości. Może warto ją przeszukac?').
  69. info(pieklo) :-
  70. plecak(miecz),
  71. write('Przed toba ukazuje sie potezny demon, walczysz czy uciekasz?').
  72. info(kosci) :-
  73. write('Znajdujesz magiczny miecz i wracasz na wczesniejsza sciezke.'),nl,
  74. retract(walka(zamkniete)),
  75. assert(plecak(miecz)),
  76. assert(walka(otwarta)),
  77. go(pieklo).
  78.  
  79.  
  80.  
  81. info(przepasc):-
  82. write('Spadasz w dół i umierasz :( Koniec gry!'),fail.
  83.  
  84. info(skrzynia):-
  85. write('Jesteś ciekawy co znajduje się w środku? Po prostu ją otwórz'),nl,
  86. write('Znajdujesz klucz'),
  87. retract(skrzynia(klucz)),
  88. retract(drzwi(zamkniete)),
  89. assert(drzwi(otwarte)),
  90. assert(plecak(klucz)).
  91.  
  92.  
  93. start() :-
  94. write('Witam w mojej grze! Aktualnie znajdujesz sie przed wejsciem do jaskini.'),nl,
  95. write('Aby poruszać sie pomiedzy lokacjami wpisz "go(nazwa lokacji)".').
  96.  
  97. go(X) :-
  98. location(Y),
  99. path(Y,X),
  100. retract(location(Y)),
  101. assert(location(X)),
  102. info(X).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement