-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathGameCharacter.py
70 lines (54 loc) · 1.52 KB
/
GameCharacter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Game character :)
import random
class Character():
"Base game character class."
char_names = ['Mario', 'Luidgy', 'Todd', 'Princess']
max_live = 100
def __init__(self):
self.is_live = True
self.live = self.max_live
print("Char was born.")
def do_idle(self):
print("Idling.")
def do_run(self):
print("Running.")
def do_jump(self):
print("Jumped.")
def do_damage(self, damage=10):
if self.live - damage <= 0:
self.do_die()
else:
self.live = self.live - damage
print("Auch!")
def do_die(self):
print("I am dead.")
self.is_dead = True
def do_reborn(self):
self.__init__()
class MarioChar(Character):
"Mario game character."
name = "Mario"
max_speed = 4
max_jump = 4
max_power = 4
def __init__(self):
self.speed = self.max_speed
self.jump = self.max_jump
self.power = self.max_power
print(f"{self.name}")
super().__init__()
def do_idle(self):
print(f"{self.name}")
return super().do_idle()
def do_run(self):
print(f"{self.name}")
return super().do_run()
def do_jump(self):
print(f"{self.name}")
return super().do_jump()
def do_damage(self, damage=10):
print(f"{self.name}")
return super().do_damage(damage)
def do_die(self):
print(f"{self.name}")
return super().do_die()