Advertisement
giganciprogramowania

Untitled

Jan 25th, 2022
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.37 KB | None | 0 0
  1. from random import randint, choice
  2.  
  3. class Postac:
  4.   def __init__(self):
  5.     self.nazwa = ""
  6.     self.zycie = 1
  7.     self.max_zycie = 1
  8.  
  9.   def atakuj(self, przeciwnik):
  10.    
  11.     atak = randint(0, 3)
  12.  
  13.     if atak == 0:
  14.         print(f"{przeciwnik.nazwa} unika ataku {self.nazwa}.")
  15.     else:
  16.         print (f"{self.nazwa} atakuje {przeciwnik.nazwa}, zadając {atak} obrazen")
  17.         przeciwnik.zycie -= atak
  18.  
  19.  
  20. class Przeciwnik(Postac):
  21.     def __init__(self, gracz):
  22.         super().__init__()
  23.         self.nazwa = choice(['goblin', 'szkielet', 'zombie'])
  24.         self.zycie = randint(1, gracz.zycie)
  25.        
  26. class Gracz(Postac):
  27.     def __init__(self):
  28.         super().__init__()
  29.         self.zycie = 10
  30.         self.max_zycie = 10
  31.         self.nazwa = input('Podaj imie gracza: ')
  32.    
  33.     def odpoczynek(self):
  34.         print(f'{self.nazwa} odpoczywa, zycie: {self.zycie}/{self.max_zycie}')
  35.         self.zycie += 1
  36.         if self.zycie > self.max_zycie:
  37.             self.zycie = self.max_zycie
  38.  
  39.     def walka(self, przeciwnik):
  40.         walka = True
  41.         while walka:
  42.             print(f'zycie gracza: {self.zycie}')
  43.             print(f'zycie {przeciwnik.nazwa}: {przeciwnik.zycie}')
  44.             akcja_walki = input('Akcja (atak, uciekaj): ')
  45.             if akcja_walki == 'atak':
  46.                 self.atakuj(przeciwnik)
  47.                 if przeciwnik.zycie <= 0:
  48.                     print(f'{self.nazwa} zabija {przeciwnik.nazwa}')
  49.                     return True
  50.                 przeciwnik.atakuj(self)
  51.             elif akcja_walki == 'uciekaj':
  52.                 print(f'{self.nazwa} ucieka')
  53.                 przeciwnik.atakuj(self)
  54.                 walka = False
  55.             else:
  56.                 print('Nieznana akcja')
  57.            
  58.             if self.zycie <= 0:
  59.                 print(f'{self.nazwa} ginie')
  60.                 return False
  61.         return True
  62.  
  63. gracz = Gracz()
  64. gra = True
  65. while gra:
  66.     akcja = input('akcja (zwiedzaj, odpocznij): ')
  67.  
  68.     if akcja == 'zwiedzaj':
  69.         if randint(0, 1) == 0:
  70.             print(f'{gracz.nazwa} znalazl jaskinie')
  71.         else:
  72.             przeciwnik = Przeciwnik(gracz)
  73.             print(f'{gracz.nazwa} natrafił na {przeciwnik.nazwa}')
  74.             gra = gracz.walka(przeciwnik)      
  75.     elif akcja == 'odpocznij':
  76.         gracz.odpoczynek()
  77.     else:
  78.         print('Nieznana akcja')
  79.  
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement