Python fight() missing 1 required argument: enemy
Запрограмировал игру которая играет в себя. И тут выдает [42:0] fight() missing 1 required argument: enemy
from random import randint
from time import sleep
class Hero():
def __init__ (self, name, health, armor, damage, weapon):
self.name = name
self.health = health
self.armor = armor
self.damage = damage
self.weapon = weapon
def print_info(self):
print('Поприветствуй героя ->', self.name )
print('Уровень здоровья', self.health)
print('Уровень брони', self.armor)
print('Сила удара', self.damage)
print('Оружие', self.weapon)
def strike(self, enemy):
print( self.name + ' наносит удар ' + enemy.name + ' с силой ' + str(self.damage) + ' оружием ' + self.weapon +'\n')
enemy.armor -= self.damage
if enemy.armor < 0:
enemy.health += enemy.armor
enemy.armor = 0
print('Враг покачнулся. Класс брони:' + str(enemy.armor) + 'Уровень здоровья:' + str(enemy.health))
def fight(self, enemy):
while self.health > 0 and enemy.health > 0:
self.strike(enemy)
if enemy.health <= 0:
print(enemy.name, 'пал в бою.' '\n')
break
sleep (3)
enemy.strike(self)
if self.health <= 0:
print(self.name, 'пал в бою.' '\n')
break
sleep (3)
knight = Hero('Ричард', 50, 5, 5, 'меч')
rogue = Hero('Мона', 30, 5, 5, 'Кинжал')
knight.print_info()
rogue.print_info()
knight.fight()