from random import randit, choice

class Postac:
    def __init__(self):
        self.nazwa = ""
        self.zycie = 1
        self.max_zycie = 1

    def atakuj(self, przeciwnik):

        atak = randit(0,8)

        if atak == 0:
            print(f"{przeciwnik.nazwa} blokuje krzesłem atak {self.nazwa}")

        else:
            print(f"{self.nazwa} wyżywa się na {przeciwnik.nazwa}, zadając {atak} obrażeń")
            przeciwnik.zycie -= atak

class Przeciwnik():
    def __init__(self, gracz):
        super().__init__
        self.nazwa = choice(['patyk', 'steave', 'duo', 'pobudka o 7:00', 'COVID-19', 'ospa wietrzna', 'dżuma', 'drugie  śniadanie leżące tydzień w plecaku', 'kanapka sprzed wakacji znaleziona 1 września', 'mokre skarpety'])
        self.zycie = randit(1, 35)

class Gracz(Postac):
    def __init__(self):
        super().__init__()
        self.zycie = 30
        self.max_zycie = 30
        self.nazwa = input("Podaj imie gracza: ")

    def odpoczynek(self):
        wartosc = randit(1, 5)
        self.zycie += wartosc
        if self.zycie > self.max_zycie:
            self.zycie = self.max_zycie
        print(f"{self.nazwa} smacznie śpi (za dużo wypił), życie: {self.zycie}/{self.max_zycie}")

    def walka(self, przeciwnik):
        walka = True
        while walka:
            print(f'życie gracza: {self.zycie}')
            print(f'życie {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} rozwalił w drobny pył {przeciwnik.nazwa}')
                    return True
                przeciwnik.atakuj|(self)
            elif akcja.walki == 'uciekaj':
                print(f'{self.nazwa} bierze nogi za pas')
                przeciwnik.atakuj(self)
                walka = False
            else:
                print("nieznana akcja")

            if self.zycie <= 0:
                print(f'{self.nazwa} kopnął w kalendarz')
                return False
            return True
        
gracz = Gracz()
gra = True
while gra:
    akcja = input("akcja (zwiedzaj, odpocznij): ")
    if akcja == 'zwiedzaj':
        if randit(0, 2) == 0:
            print(f"Gracz {gracz.nazwa} znalazł przytulnął jaskinię")
        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')