Untitled
unknown
plain_text
a month ago
3.1 kB
6
Indexable
class Hero:
def __init__(self, name, damage, armor):
self.name = name
self.damage = damage
self.armor = armor
def info(self):
print("name: ", self.name)
print("damage: " ,self.damage)
print("armor: ", self.armor)
class Warrior(Hero):
def __init__(self, name, damage, armor):
super().__init__(name,damage,armor)
self.rage = 0
def info(self):
super().info()
print("rage: ",self.rage)
def attack_by_sword(self, enemy):
print("Герой: ", self.name, "атакує мечем ", enemy.name)
enemy.armor = enemy.armor - self.damage
print("Наносить ",self.damage, "демеджу, у", enemy.name, "залишилось",enemy.armor,"броні")
class Mag:
def __init__(self, name, damage, armor):
self.name = name
self.damage = damage
self.attack_distance = 20
self.armor = armor
def info(self):
print("name: ", self.name)
print("damage: ", self.damage)
print("armor: ", self.armor)
print("attack distance: ", self.attack_distance)
def attack_fireball(self, enemy):
print("Герой: ", self.name, "атакує фаєрболом ", enemy.name)
enemy.armor = enemy.armor - self.damage
print("Наносить ",self.damage, "демеджу, у", enemy.name, "залишилось",enemy.armor,"броні")
def heal_friend(self, friend):
print("Герой: ", self.name, "лікує ", friend.name)
friend.armor = friend.armor + 50
print("Відновлює 50 броні, у", friend.name, "залишилось", friend.armor, "броні")
class Rogue:
def __init__(self, name, damage, armor):
self.name = name
self.damage = damage
self.armor = armor
self.energy = 100
def info(self):
print("name: ", self.name)
print("damage: ", self.damage)
print("armor: ", self.armor)
print("energy: ", self.energy)
def shoot_bow(self, enemy):
print("Герой: ", self.name, "стріляє з лука у ", enemy.name)
enemy.armor = enemy.armor - self.damage
print("Наносить ",self.damage, "демеджу, у", enemy.name, "залишилось",enemy.armor,"броні")
def throw_bomb(self, enemy):
if self.energy == 100:
print("Герой: ", self.name, "кидає бомбу у ", enemy.name)
enemy.armor = enemy.armor - (self.damage * 2)
self.energy = 0
print("Наносить ", self.damage * 2, "демеджу, у", enemy.name, "залишилось", enemy.armor, "броні")
great_warrior = Warrior("Kaluga", 100, 2000)
lazy_warrior = Warrior("Sir Lazy", 80, 2300)
evil_mag = Mag("Merelin", 30, 5000)
shadow_rogue = Rogue("Shadow", 60, 1000)
shadow_rogue.shoot_bow(lazy_warrior)
shadow_rogue.throw_bomb(great_warrior)
evil_mag.heal_friend(lazy_warrior)Editor is loading...
Leave a Comment