#klasa broni
class Bron(): # do nazw uzywamy CamelCase
    ilosc_naboi = ""
    ilosc_obrazen = ""

    def wyswietl(self):
        print(self.ilosc_naboi)
        print(self.ilosc_obrazen)

# tworzenie obiektu klasy i przypisanie wartosci do zmiennych
pistolet = Bron()
pistolet.ilosc_naboi = 6
pistolet.ilosc_obrazen = 50

armata = Bron()
armata.ilosc_naboi = 1
armata.ilosc_obrazen = 100
print(armata.ilosc_naboi)

# obiekt klasy bron o nazwie łuk, który ma 12 strzał i 25 obrażeń
luk = Bron()
luk.ilosc_naboi = 12
luk.ilosc_obrazen = 25

#Chcemy wyswietlic wartosci:
print()
print()
# .... 6x print, to dosyc duzo linii kodu

def wyswietl(naboje, obrazenia):
    print(naboje)
    print(obrazenia)

# .... 3x wywołanie z argumentami, za duzo linii kodu

# definiujemy funkcje wewnątrz klasy i ją wywołujemy
pistolet.wyswietl()
armata.wyswietl()
luk.wyswietl()


# napisz klase przeciwnika z dwiema zmiennymi:
# - hp
# - obrazenia
# - loot

# napisz funkcje ktora zwraca loot przeciwnika
# Settery i gettery

import random

class Przeciwnik():
    hp = ""
    dmg = ""
    loot = ""

    def wyrzuc_loot(self):
        print(f"Wyrzucam {self.loot}")

    # settery
    def wylosuj_loot(self):
        if random.randint(0, 10) > 7:
            self.loot = "epicki miecz"
        else:
            self.loot = "10 XP"

zombie = Przeciwnik()
# zombie.loot = "miecz i 10XP"

zombie.wylosuj_loot()
zombie.wyrzuc_loot()

zombie.wylosuj_loot()
zombie.wyrzuc_loot()

class LepszaBron():
    ilosc_naboi = 0
    ilosc_obrazen = 0

    def wyswietl(self):
        print(self.ilosc_naboi)
        print(self.ilosc_obrazen)

    def sprawdz_poziom(self, poziom_gracza):
        if poziom_gracza > 15:
            self.ilosc_obrazen += 15


epicki_miecz = LepszaBron()
epicki_miecz.ilosc_obrazen = 50
epicki_miecz.ilosc_naboi = 'nieskonczonosc'

# lvl up gracza
poziom_gracza = 16
epicki_miecz.sprawdz_poziom(poziom_gracza=poziom_gracza)
epicki_miecz.wyswietl()