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"{self.nazwa} attemps to attack but {przeciwnik.nazwa} dodges")
        else:
            print(f"{self.nazwa} attacks {przeciwnik.nazwa} at it hits taking {atak}hp")
            przeciwnik.zycie -= atak

class Przeciwnik(Postac):
    def __init__(self, gracz):
        super().__init__()
        self.nazwa = choice(["Skibidi Toilet", "Goblin", "Guest 666", "1x1x1x1", "Tubers93", "Ohio final boss"])
        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 imię gracza: ")
        
    def odpoczynek(self):
        self.zycie += 1 #- self.zycie = self.zycie + 1 -#
        if self.zycie > self.max_zycie:
           self.zycie > self.max_zycie
        print(f"{self.nazwa} is relaxing. Health: {self.zycie}hp/{self.max_zycie}hp")
        #- ADD 1HP, IF IT GOES ABOVE MAX THEN CHECK -#

    def walka(self, przeciwnik):
        walka = True
        while walka:
            print(f"Player: {self.zycie}hp")
            print(f"{przeciwnik.nazwa}: {przeciwnik.zycie}hp")
            akcja_walki = input("Actions (atakuj, uciekaj) ")
            if akcja_walki == 'atakuj':
                self.atakuj(przeciwnik)
                if przeciwnik.zycie <= 0:
                    print(f"{self.nazwa} killed {przeciwnik.nazwa}")
                    return True
                przeciwnik.atakuj(self)
            elif akcja_walki == 'uciekaj':
                szansa = randint(0, 1)
                if szansa == 0:
                    print(f"{self.name} escaped, but got hit from behind")
                    przeciwnik.atakuj(self)
                    walka = False
                else:
                    print(f"{self.nazwa} escaped safely")
                    walka = True
            else:
                print("Error: Unknown Action")

            if self.zycie <= 0:
                print(f"{self.nazwa} is dead...")
                return False
        return True


gracz = Gracz()
gra = True
while gra:
    akcja = input("actions (zwiedzaj, odpocznij) ")
    if akcja == "zwiedzaj":
        szansa = randint(0, 2)
        if szansa == 0:
            print(f'{gracz.nazwa} found a cave...')
        elif szansa == 1:
            print(f"{gracz.nazwa} found the Holy River")
            if gracz.zycie > gracz.max_zycie:
               gracz.zycie > gracz.max_zycie
            print(f"You now have: {gracz.zycie}/{gracz.max_zycie}")
        else:
            przeciwnik = Przeciwnik(gracz)
            print(f"{gracz.nazwa} got jumped by {przeciwnik.nazwa}")
            gra = gracz.walka(przeciwnik)
    elif akcja == "odpocznij":
        gracz.odpoczynek()
    else:
        print("Error: Unkown action")
    
