SHOW:
|
|
- or go back to the newest paste.
1 | from random import randint, choice | |
2 | ||
3 | class Postac: | |
4 | def __init__(self): | |
5 | self.nazwa = "" | |
6 | self.zycie = 1 | |
7 | self.max_zycie = 1 | |
8 | ||
9 | def atakuj(self, przeciwnik): | |
10 | ||
11 | atak = randint(0, 3) | |
12 | ||
13 | if atak == 0: | |
14 | print(f"{przeciwnik.nazwa} unika ataku {self.nazwa}.") | |
15 | else: | |
16 | print (f"{self.nazwa} atakuje {przeciwnik.nazwa}, zadając {atak} obrazen") | |
17 | przeciwnik.zycie -= atak | |
18 | ||
19 | ||
20 | class Przeciwnik(Postac): | |
21 | def __init__(self, gracz): | |
22 | super().__init__() | |
23 | self.nazwa = choice(['goblin', 'szkielet', 'zombie']) | |
24 | self.zycie = randint(1, gracz.zycie) | |
25 | ||
26 | class Gracz(Postac): | |
27 | def __init__(self): | |
28 | super().__init__() | |
29 | self.zycie = 10 | |
30 | self.max_zycie = 10 | |
31 | self.nazwa = input('Podaj imie gracza: ') | |
32 | ||
33 | def odpoczynek(self): | |
34 | self.zycie += 1 | |
35 | if self.zycie > self.max_zycie: | |
36 | self.zycie = self.max_zycie | |
37 | print(f'{self.nazwa} odpoczywa, zycie: {self.zycie}/{self.max_zycie}') | |
38 | ||
39 | def walka(self, przeciwnik): | |
40 | walka = True | |
41 | while walka: | |
42 | print(f'zycie gracza: {self.zycie}') | |
43 | print(f'zycie {przeciwnik.nazwa}: {przeciwnik.zycie}') | |
44 | akcja_walki = input('Akcja (atak, uciekaj): ') | |
45 | if akcja_walki == 'atak': | |
46 | self.atakuj(przeciwnik) | |
47 | if przeciwnik.zycie <= 0: | |
48 | print(f'{self.nazwa} zabija {przeciwnik.nazwa}') | |
49 | return True | |
50 | przeciwnik.atakuj(self) | |
51 | elif akcja_walki == 'uciekaj': | |
52 | print(f'{self.nazwa} ucieka') | |
53 | przeciwnik.atakuj(self) | |
54 | walka = False | |
55 | else: | |
56 | print('Nieznana akcja') | |
57 | ||
58 | if self.zycie <= 0: | |
59 | print(f'{self.nazwa} ginie') | |
60 | return False | |
61 | return True | |
62 | ||
63 | gracz = Gracz() | |
64 | gra = True | |
65 | while gra: | |
66 | akcja = input('akcja (zwiedzaj, odpocznij): ') | |
67 | ||
68 | if akcja == 'zwiedzaj': | |
69 | if randint(0, 1) == 0: | |
70 | print(f'{gracz.nazwa} znalazl jaskinie') | |
71 | else: | |
72 | przeciwnik = Przeciwnik(gracz) | |
73 | print(f'{gracz.nazwa} natrafił na {przeciwnik.nazwa}') | |
74 | gra = gracz.walka(przeciwnik) | |
75 | elif akcja == 'odpocznij': | |
76 | gracz.odpoczynek() | |
77 | else: | |
78 | print('Nieznana akcja') | |
79 | ||
80 |