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()

Ответы (0 шт):