-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwizard_duel.py
More file actions
30 lines (25 loc) · 924 Bytes
/
wizard_duel.py
File metadata and controls
30 lines (25 loc) · 924 Bytes
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
class Wizard:
def __init__(self, name, stamina, intelligence):
self.name = name
self.__stamina = stamina
self.__intelligence = intelligence
self.mana = self.__intelligence * 10
self.health = self.__stamina * 100
def cast_fireball(self, target, fireball_cost, fireball_damage):
if self.mana < fireball_cost:
err = f"{self.name} cannot cast fireball"
raise Exception(err)
else:
self.mana -= fireball_cost
target.get_fireballed(fireball_damage)
def is_alive(self):
if self.health > 0:
return True
else:
return False
def get_fireballed(self, fireball_damage):
fireball_damage -= self.__stamina
self.health -= fireball_damage
def drink_mana_potion(self, potion_mana):
potion_mana += self.__intelligence
self.mana += potion_mana