Advertisement
Guest User

Untitled

a guest
Jan 24th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.37 KB | None | 0 0
  1. # Gra Text-RPG Python
  2. # Kewin Witkowski
  3.  
  4. import os
  5. import sys
  6. from random import randrange
  7. import time
  8.  
  9. screen_width = 100
  10.  
  11.  
  12. # Tworzenie postaci #
  13. class gracz:
  14. def __init__(self):
  15. self.hp = 100
  16.  
  17. # Gracz = gracz()
  18.  
  19. def wprowadzenie():
  20. print("*Na kartce widnieja czerwone, niewyrazne napisy, przypominajace krew*")
  21. time.sleep(0.5)
  22. print(" Witaj towarzyszu, jesli to czytasz, oznacza to, ze poleglem, jak wielu innych ktorzy byli przede mna.\n"
  23. " Znajdujemy się bowiem w Zamku Zagadek, pozwol, ze przedstawie ci podstawy, by twoja podroz rozpoczela\n"
  24. " się choc troszke lzej od mojej. Twoje zadanie moze wydawac sie proste, choc zapewniam, ze takie nie jest.\n"
  25. " Rozpoczynasz swoja podroz z pelnym zdrowiem, jego ilosc wynosi 100, lecz w trakcie podrozy mozesz je utracic.\n"
  26. " Jesli twoje zdrowie spadnie do 0, twoja przygoda sie zakonczy, powodzenia\n")
  27.  
  28. def tut():
  29. print("*Budzisz się w nieznanym dla ciebie pokoju, podloga na ktorej lezales jest zimna i wilgotna, nie masz pojecia jak, ani dlaczego sie tu znalazles")
  30. time.sleep(0.5)
  31. print("*Po chwili dezorientacji i bladzenia oczami po nieprzyjaznie wygladajacym miejscu, twoj wzrok mierzy sie z pogieta kartka papieru, czy chcesz ja podniesc?")
  32. print("( JEŚLI CHCESZ POMINAC TUTORIAL, WYBIERZ 2 )")
  33. time.sleep(0.5)
  34. wybor = int(input("1. TAK\n2. NIE\n"))
  35. if wybor == 1:
  36. wprowadzenie()
  37.  
  38. # Pokoje #
  39.  
  40. def sprawdzenie():
  41. var = int(input())
  42. while True:
  43. if var == 1 or var == 2:
  44. return var
  45. else:
  46. var = input("Podaj poprawną komendę")
  47.  
  48.  
  49. def pokoj_1():
  50. print(">Stajesz przed swoim pierwszym wyborem, przed tobą znajduję się schody prowadzące piętro wyżej,\n"
  51. "a także te prowadzące piętro niżej, które wybierzesz?\n"
  52. "> 1. Idz w dół <\n> 2. Idz w górę <\n")
  53. wyb = sprawdzenie()
  54. if wyb == 1:
  55. return 1
  56. else:
  57. return 2
  58.  
  59. def zalana_piwnica():
  60. print("Wchodzisz do zalanej już częściowo piwnicy, po chwili rozglądania słyszysz głośny trzask\n"
  61. "oraz nagły szum lejącej się wody, okazuje się że zardzewiała rura pękła,\n"
  62. "co powoduje niebezpiecznie szybkie podnoszenie się poziomu wody. Na ścianie znajdują się dwa\n"
  63. "zawory. Wybierz mądrze by szybko wydostać się z pokoju\n"
  64. "> 1. Lewy zawór <\n"
  65. "> 2. Prawy zawór <\n")
  66. wyb = sprawdzenie()
  67. if wyb == 1:
  68. print("Po przekręceniu zaworu nic się nie dzieje, a poziom wody nadal się podnosi. Postanawiasz\n"
  69. "przekręcić kolejny, który zatrzymuje wodę, co pozwala ci uciec z pokoju")
  70. return 3
  71. else:
  72. print("Przekręcasz prawy zawór który zatrzymuje wodę, bezpiecznie przechodzisz do kolejnego pokoju")
  73. return 3
  74.  
  75.  
  76. def kotlownia():
  77. print("Kotłownia wydaje się być zadbana, w rogu jednak znajduje się ciemny dół, nie jesteś w stanie\n"
  78. "określić jak głęboki, ponieważ dno nie jest widoczne dla ludzkiego oka, możesz jednak wskoczyć\n"
  79. "i sprawdzić, dół przypomina wykopany przez kogoś tunel, może to skrót?\n"
  80. "> 1. Wskocz do dziury <\n"
  81. "> 2. Wybierz drzwi <\n")
  82. wyb = sprawdzenie()
  83. if wyb == 1:
  84. print("umierasz")
  85. print("GAME OVER")
  86. time.sleep(1)
  87. os.system('cls')
  88. sys.exit()
  89. else:
  90. return 5
  91.  
  92.  
  93. def sala_bankietowa():
  94. print("Wchodzisz do dostojnej sali, dookoła nienaruszona zastawa, oraz średniowieczne dekoracje.\n"
  95. "Drzwi są zamknięte, lecz widnieje na nich panel do wpisania kodu. Nad panelem widnieje napis\n"
  96. '"zagadka" oraz "-2". Wydaje się że napis został wykonany krwią, czy może to być podpowiedź?\n ')
  97. klucz = input("Jakie jest hasło do odblokowania drzwi? ")
  98. while True:
  99. if klucz == "xyeybiy":
  100. time.sleep(0.75)
  101. print("git haselko")
  102. time.sleep(0.75)
  103. return 4
  104. else:
  105. klucz = input("Hasło jest niepoprawne, spróbuj jeszcze raz")
  106.  
  107.  
  108.  
  109. def pokoj_losowania():
  110. print('Na stole leży kartka oraz kostka do gry. Kartka zawiera następujące informacje: \n'
  111. '"By przejść dalej, wyrzucić więcej niż 3 jest wskazane. Jeśli kostka liczbę mniejszą niż 3 wskaże\n'
  112. 'użytkownik zostanie poddany karze."\n')
  113. time.sleep(1)
  114. kostka = randrange(1,6)
  115. print('Rzucasz kostką, twoja liczba to: ', kostka)
  116. if kostka > 3:
  117. print("Drzwi przed tobą powoli zaczynają się otwierać, jesteś w stanie przejść do następnego pokoju\n")
  118. return 5
  119. else:
  120. print("Wyrzucasz liczbę mniejszą niż 4, otwiera się pod tobą zapadnia, spadasz do pokoju piętro niżej\n")
  121. return 3
  122.  
  123. def przedost_pokoj():
  124. print('Pokój wydaje się pusty, na środku jednak znajduje się skrzynia, może być w niej coś przydatnego\n'
  125. 'czy chcesz ją otworzyć?\n'
  126. "> 1. Otwórz <\n"
  127. "> 2. Idz dalej <\n")
  128. wyb = sprawdzenie()
  129. if wyb == 1:
  130. print("Skrzynia jest pusta")
  131. return 6
  132. else:
  133. print("Idziesz dalej")
  134. return 6
  135.  
  136.  
  137. def ostatni_pokoj():
  138. print("Następny pokój wygląda identycznie jak poprzedni, twoim oczom ukazuje się kolejna skrzynia,\n"
  139. "czy chcesz ją otworzyć?\n"
  140. "> 1. Otwórz <\n"
  141. "> 2. Idz dalej <\n")
  142. wyb = sprawdzenie()
  143. if wyb == 1:
  144. print("Lapiesz za wieko skrzyni, które okazuje się skrywać nie skarb, lecz ogromne zęby.\n"
  145. "Z boków wychodzą ręce które szybkim ruchem łapią cię i wypychają do ogromnej paszczy.\n"
  146. " Niestety, nie znajdujesz wyjścia z tej sytuacji, jestes bezbronny\n")
  147. print("GAME OVER")
  148. time.sleep(1)
  149. os.system('cls')
  150. sys.exit()
  151. else:
  152. return 7
  153.  
  154.  
  155. # koniec pokojow #
  156.  
  157. # Menu #
  158. class menu:
  159.  
  160. def startGame(self):
  161. tut()
  162. i = 0
  163. while True:
  164. i = listaPokojow[i]()
  165.  
  166. def exitGame(self):
  167. os.system('cls')
  168. print("Dzięki za grę")
  169. print("Wcisnij dowolny klawisz")
  170. input()
  171. sys.exit()
  172.  
  173. availableInput = {
  174. "graj": startGame,
  175. "wyjdz": exitGame
  176. }
  177.  
  178. def startMenu(self):
  179. os.system('cls')
  180. print("#########################")
  181. print('# WITAJ W TEKSTOWYM RPG #')
  182. print('#########################')
  183. print(' - Graj - ')
  184. print(' - Wyjdz - ')
  185. self.availableInput[self.checkInput()](self)
  186.  
  187. def checkInput(self):
  188. tempInput = input("> ").lower()
  189. while tempInput not in self.availableInput:
  190. os.system('cls')
  191. print("Podaj poprawna komende")
  192. tempInput = input("> ").lower()
  193. return tempInput
  194.  
  195. def __init__(self):
  196. self.startMenu()
  197.  
  198. def zakonczenie():
  199. print("Gratulacje, wygrałeś")
  200. time.sleep(1)
  201. os.system('cls')
  202. print("Dzięki za grę")
  203. time.sleep(0.5)
  204. print("Wcisnij dowolny klawisz by wyjść")
  205. input()
  206. sys.exit()
  207.  
  208. listaPokojow = [pokoj_1, zalana_piwnica, sala_bankietowa, kotlownia, pokoj_losowania, przedost_pokoj, ostatni_pokoj, zakonczenie]
  209.  
  210. game = menu()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement