main.py
· 569 B · Python
Raw
import moje_klasy
# import importlib
# importlib.reload(moje_klasy)
# ^^^ jeśli używamy jupyter notebook
mlot = moje_klasy.Bron(nazwa="Młot", ile_kosci=1, sukces_od=4, obrazenia=2)
miecz = moje_klasy.Bron(nazwa="Miecz dwuręczny", ile_kosci=5, sukces_od=5, obrazenia=1)
mlot.opis()
moje_klasy.Bron.opis(mlot)
print(mlot)
nelly = moje_klasy.Bohater(imie="Nelly")
nelly.podnies(mlot)
nelly.podnies(miecz)
nelly.pokaz_co_masz()
nelly.atak()
szwendacz = moje_klasy.Szwendacz()
szwendacz.przedstaw_sie()
spaslak = moje_klasy.Spaslak()
spaslak.przedstaw_sie()
1 | import moje_klasy |
2 | |
3 | # import importlib |
4 | # importlib.reload(moje_klasy) |
5 | # ^^^ jeśli używamy jupyter notebook |
6 | |
7 | mlot = moje_klasy.Bron(nazwa="Młot", ile_kosci=1, sukces_od=4, obrazenia=2) |
8 | miecz = moje_klasy.Bron(nazwa="Miecz dwuręczny", ile_kosci=5, sukces_od=5, obrazenia=1) |
9 | |
10 | mlot.opis() |
11 | moje_klasy.Bron.opis(mlot) |
12 | |
13 | print(mlot) |
14 | |
15 | |
16 | nelly = moje_klasy.Bohater(imie="Nelly") |
17 | |
18 | nelly.podnies(mlot) |
19 | nelly.podnies(miecz) |
20 | |
21 | nelly.pokaz_co_masz() |
22 | |
23 | nelly.atak() |
24 | |
25 | |
26 | szwendacz = moje_klasy.Szwendacz() |
27 | szwendacz.przedstaw_sie() |
28 | |
29 | spaslak = moje_klasy.Spaslak() |
30 | spaslak.przedstaw_sie() |
31 |
moje_klasy.py
· 2.9 KiB · Python
Raw
import random
def rzut_k6(ile_razy):
return [random.randint(1, 6) for nr_rzutu in range(ile_razy)]
class Bron:
def __init__(self, nazwa, ile_kosci, sukces_od, obrazenia):
self.nazwa = nazwa
self.ile_kosci = ile_kosci
self.sukces_od = sukces_od
self.obrazenia = obrazenia
def opis(self):
print(self)
def __str__(self):
tekst = ""
tekst += f"Jestem obiektem klasy {self.__class__.__name__}\n"
tekst += f"Nazywam się {self.nazwa}\n"
tekst += f"Aby trafić, wyrzuć co najmniej {self.sukces_od} oczek\n"
tekst += f"Zadaję {self.obrazenia} obrażeń\n"
return tekst
class Bohater:
# tutaj mamy blad!
def __init__(self, imie, zycie=3, doswiadczenie=0, ekwipunek=[]):
self.imie = imie
self.zycie = zycie
self.doswiadczenie = doswiadczenie
self.ekwipunek = ekwipunek
def okrzyk_bojowy(self):
print("Jesień średniowiecza!")
def podnies(self, przedmiot):
self.ekwipunek.append(przedmiot)
print(f"Oho, mam {przedmiot.nazwa}.")
def pokaz_co_masz(self):
print(f"Ekwipunek {self.imie}:")
for i, przedmiot in enumerate(self.ekwipunek):
print(f" {i+1}. {przedmiot.nazwa}")
def atak(self):
if len(self.ekwipunek) == 0:
return 0
wybrana_bron = self.ekwipunek[0]
rzuty_ataku = rzut_k6(ile_razy=wybrana_bron.ile_kosci)
udane = [rzut > wybrana_bron.sukces_od for rzut in rzuty_ataku]
return udane
class Szwendacz:
def __init__(self):
self.zycie = 1
self.zadawane_obrazenia = 1
self.doswiadczenie_za_zabicie = 1
def przedstaw_sie(self):
print(f"Jestem {self.__class__.__name__}")
print(f"Mam {self.zycie} punktow zycia.")
print(f"Jak cie dorwe, zadam {self.zadawane_obrazenia} obrazen.")
print(
f"Jak mnie dorwiesz, zyskasz {self.doswiadczenie_za_zabicie} doswiadczenia."
)
class Spaslak:
def __init__(self):
self.zycie = 2
self.zadawane_obrazenia = 1
self.doswiadczenie_za_zabicie = 1
def przedstaw_sie(self):
print(f"Jestem {self.__class__.__name__}")
print(f"Mam {self.zycie} punktow zycia.")
print(f"Jak cie dorwe, zadam {self.zadawane_obrazenia} obrazen.")
print(
f"Jak mnie dorwiesz, zyskasz {self.doswiadczenie_za_zabicie} doswiadczenia."
)
class Abominacja:
def __init__(self):
self.zycie = 3
self.zadawane_obrazenia = 1
self.doswiadczenie_za_zabicie = 5
def przedstaw_sie(self):
print(f"Jestem {self.__class__.__name__}")
print(f"Mam {self.zycie} punktow zycia.")
print(f"Jak cie dorwe, zadam {self.zadawane_obrazenia} obrazen.")
print(
f"Jak mnie dorwiesz, zyskasz {self.doswiadczenie_za_zabicie} doswiadczenia."
)
1 | import random |
2 | |
3 | |
4 | def rzut_k6(ile_razy): |
5 | return [random.randint(1, 6) for nr_rzutu in range(ile_razy)] |
6 | |
7 | |
8 | class Bron: |
9 | def __init__(self, nazwa, ile_kosci, sukces_od, obrazenia): |
10 | self.nazwa = nazwa |
11 | self.ile_kosci = ile_kosci |
12 | self.sukces_od = sukces_od |
13 | self.obrazenia = obrazenia |
14 | |
15 | def opis(self): |
16 | print(self) |
17 | |
18 | def __str__(self): |
19 | tekst = "" |
20 | tekst += f"Jestem obiektem klasy {self.__class__.__name__}\n" |
21 | tekst += f"Nazywam się {self.nazwa}\n" |
22 | tekst += f"Aby trafić, wyrzuć co najmniej {self.sukces_od} oczek\n" |
23 | tekst += f"Zadaję {self.obrazenia} obrażeń\n" |
24 | return tekst |
25 | |
26 | |
27 | class Bohater: |
28 | # tutaj mamy blad! |
29 | def __init__(self, imie, zycie=3, doswiadczenie=0, ekwipunek=[]): |
30 | self.imie = imie |
31 | self.zycie = zycie |
32 | self.doswiadczenie = doswiadczenie |
33 | self.ekwipunek = ekwipunek |
34 | |
35 | def okrzyk_bojowy(self): |
36 | print("Jesień średniowiecza!") |
37 | |
38 | def podnies(self, przedmiot): |
39 | self.ekwipunek.append(przedmiot) |
40 | print(f"Oho, mam {przedmiot.nazwa}.") |
41 | |
42 | def pokaz_co_masz(self): |
43 | print(f"Ekwipunek {self.imie}:") |
44 | for i, przedmiot in enumerate(self.ekwipunek): |
45 | print(f" {i+1}. {przedmiot.nazwa}") |
46 | |
47 | def atak(self): |
48 | if len(self.ekwipunek) == 0: |
49 | return 0 |
50 | |
51 | wybrana_bron = self.ekwipunek[0] |
52 | rzuty_ataku = rzut_k6(ile_razy=wybrana_bron.ile_kosci) |
53 | udane = [rzut > wybrana_bron.sukces_od for rzut in rzuty_ataku] |
54 | return udane |
55 | |
56 | |
57 | class Szwendacz: |
58 | def __init__(self): |
59 | self.zycie = 1 |
60 | self.zadawane_obrazenia = 1 |
61 | self.doswiadczenie_za_zabicie = 1 |
62 | |
63 | def przedstaw_sie(self): |
64 | print(f"Jestem {self.__class__.__name__}") |
65 | print(f"Mam {self.zycie} punktow zycia.") |
66 | print(f"Jak cie dorwe, zadam {self.zadawane_obrazenia} obrazen.") |
67 | print( |
68 | f"Jak mnie dorwiesz, zyskasz {self.doswiadczenie_za_zabicie} doswiadczenia." |
69 | ) |
70 | |
71 | |
72 | class Spaslak: |
73 | def __init__(self): |
74 | self.zycie = 2 |
75 | self.zadawane_obrazenia = 1 |
76 | self.doswiadczenie_za_zabicie = 1 |
77 | |
78 | def przedstaw_sie(self): |
79 | print(f"Jestem {self.__class__.__name__}") |
80 | print(f"Mam {self.zycie} punktow zycia.") |
81 | print(f"Jak cie dorwe, zadam {self.zadawane_obrazenia} obrazen.") |
82 | print( |
83 | f"Jak mnie dorwiesz, zyskasz {self.doswiadczenie_za_zabicie} doswiadczenia." |
84 | ) |
85 | |
86 | |
87 | class Abominacja: |
88 | def __init__(self): |
89 | self.zycie = 3 |
90 | self.zadawane_obrazenia = 1 |
91 | self.doswiadczenie_za_zabicie = 5 |
92 | |
93 | def przedstaw_sie(self): |
94 | print(f"Jestem {self.__class__.__name__}") |
95 | print(f"Mam {self.zycie} punktow zycia.") |
96 | print(f"Jak cie dorwe, zadam {self.zadawane_obrazenia} obrazen.") |
97 | print( |
98 | f"Jak mnie dorwiesz, zyskasz {self.doswiadczenie_za_zabicie} doswiadczenia." |
99 | ) |
100 |