from random import randint, choice

class Postac:
    def __init__(self):
        self.nazwa = "" 
        self.zycie= 1
        self.max_zycie = 1
    
    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

class Przeciwnik(Postac):
    def __init__(self, gracz):
        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 imie gracza: ")

    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 == 'atak':
                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} natrafił na {przeciwnik.nazwa}')
            gra = gracz.walka(przeciwnik)
    elif akcja =="odpocznij":
        gracz.odpoczynek()
    else:
        print("Nieznana akcja")