Неверное взятие значений функцией
Вот мой код:
class Player:
def __init__(self, name, hp, damage):
self.name = name
self.hp = hp
self.damage = damage
class Enemy:
def __init__(self, nameq, hpq, damageq):
self.name1 = nameq
self.hp1 = hpq
self.damage1 = damageq
class Room(Player, Enemy):
def __init__(self, name, hp, damage, nameq, hpq, damageq):
super().__init__(name, hp, damage)
super().__init__(nameq, hpq, damageq)
def fight(self):
print(self.hp)
print(self.damage)
print(self.hp - self.damage)
Swordsman = Room('Swordsman', 100, 10, 'Orc', 80, 8)
Swordsman.fight()
По идее должно выводиться '100', '10', '90'(так как игрок бьет сам себя), но выводится '80', '8', '72'(то есть действие выполняет противник, а не игрок),т.е. вторые значения, что неверно. Если же я заменю hp на hpq(как должно быть для верной работы), то вылазит эта ошибка:
Traceback (most recent call last):
File "C:/Users/munty/PycharmProjects/pythonProject2/Class Swordsman.py", line 28, in <module>
Swordsman.fight()
File "C:/Users/munty/PycharmProjects/pythonProject2/Class Swordsman.py", line 21, in fight
print(self.hpq)
AttributeError: 'Room' object has no attribute 'hpq'
С super работаю впервые. Пытался обойти это разными способами, что успел найти в интернете, но всё время различные ошибки, поэтому вернулся к этому этапу, так как тут хоть и криво, но работает. Заранее спасибо.