class PostacGracza:
def __init__(self, imie_gracza: str, pkt_zycia: int = 100, mana: int = 100, zwinnosc: int = 100) -> None:
self.imie_gracza = imie_gracza
self.pkt_zycia = pkt_zycia
self.mana = mana
self.zwinnosc = zwinnosc
def przywitaj(self):
print("Witaj", self.imie_gracza)
def otrzymaj_obrazenie(self, ilosc_obrazen: int):
self.pkt_zycia -= ilosc_obrazen
if self.pkt_zycia <= 0:
print("Jesteś trupem!")
class Mag(PostacGracza):
def __init__(self, imie_gracza: str, pkt_zycia: int = 50, mana: int = 200, zwinnosc: int = 100) -> None:
super().__init__(imie_gracza, pkt_zycia, mana, zwinnosc)
def rzuc_kule_ognia(self):
print(f"{self.imie_gracza} rzucił kulę ognia. WOOOOSSHHH!!! KABOOOM!!!!")
class Wojownik(PostacGracza):
def __init__(self, imie_gracza: str, zwinnosc: int = 100, pkt_zycia: int = 150, mana: int = 50, ) -> None:
super().__init__(imie_gracza, pkt_zycia, mana, zwinnosc)
def silny_cios(self):
print(f"{self.imie_gracza} wykonał silny cios")
gracz1 = Mag("Fizban") #wprowadzone tylko imie_gracza, reszte wartości domyślne z klasy Mag
gracz2 = Wojownik(imie_gracza="Caramon", pkt_zycia=150, mana=50)
gracz1.przywitaj()
gracz2.przywitaj()
print("Gracze otrzymują obrażenia")
gracz1.otrzymaj_obrazenie(10)
print(f"{gracz1.imie_gracza} ma {gracz1.pkt_zycia} pkt życia.")
gracz2.otrzymaj_obrazenie(400)
print(f"{gracz2.imie_gracza} ma {gracz2.pkt_zycia} pkt życia.")
gracz1.rzuc_kule_ognia()
gracz2.silny_cios()