from random import randint, choice class Postac: def __init__(self): self.nazwa = "" self.zycie = 1 self.max_zycie = 1 pass def atakuj (self, przeciwnik): atak = randint(0,3) if atak == 0: print(f"{przeciwnik.nazwa} unika ataku{self.nazwa}.") else: print(f"{self.nazwa} atakuje {przeciwnik.nazwa}, zadając {atak} obrażeń") przeciwnik.zycie -= atak pass class Przeciwnik(Postac): def __init__(self): super().__init__() self.nazwa = choice(['goblin','szkielet','zombie']) self.zycie = randint(1, gracz.zycie) class Gracz(Postac): def __init__(self): super().__init__() self.zycie = 10 self.max_zycie = 10 self.nazwa = input("Podaj nazwe swojej postaci") pass def odpoczynek(self): self.zycie +=1 if self.zycie > self.max_zycie: self.zycie = self.max_zycie print(f"{self.nazwa} odpoczywa, zycie: {self.zycie}/{self.max_zycie}") def walka (self,przeciwnik): walka = True while walka: print(f"Zycie gracza {self.zycie}") print(f"Zycie {przeciwnik.nazwa}: {przeciwnik.zycie}") akcja_walki = input("Akcja (atak, uciekaj):") if akcja_walki == "atakuj": self.atakuj(przeciwnik) if przeciwnik.zycie <= 0: print(f"{self.nazwa} zabija {przeciwnik.nazwa}") return True przeciwnik.atakuj(self) elif akcja_walki == "uciekaj": print(f"{self.nazwa} ucieka") przeciwnik.atakuj(self) walka = False else: print("Nieznana akcja") if self.zycie <=0: print(f"{self.nazwa} ginie") return False return True gracz = Gracz() gra = True while gra: akcja = input("Akcja (zwiedzaj, odpocznij): ") if akcja == "zwiedzaj": if randint (0,1) == 0: print(f"{gracz.nazwa} znalazł jaskinie") else: przeciwnik = Przeciwnik(gracz) print(f"{gracz.nazwa} natrafil na {przeciwnik.nazwa}") gra = gracz.walka(przeciwnik) elif akcja == "odpocznij": gracz.odpoczynek() else: print("Nieznana akcja")