enemyAttack = Process(target=player.getHit , args=(player, enemy))
по какой-то причине эта строка постоянно выдаёт мне ошибки
File "C:\Users\USER\AppData\Local\Programs\Python\Python38-32\lib\multiprocessing\process.py", line 315, in _bootstrap
self.run()
File "C:\Users\USER\AppData\Local\Programs\Python\Python38-32\lib\multiprocessing\process.py", line 108, in run
self._target(*self._args, **self._kwargs)
TypeError: getHit() takes 2 positional arguments but 3 were given
при изменении строки на enemyAttack = Process(target=player.getHit , args=(enemy))
File "C:\Users\USER\Desktop\Python_projects\main.py", line 19, in <module>
main()
File "C:\Users\USER\Desktop\Python_projects\main.py", line 11, in main
Fight()
File "C:\Users\USER\Desktop\Python_projects\Dungeons.py", line 39, in Fight
enemyAttack = Process(target=player.getHit , args=(enemy))
File "C:\Users\USER\AppData\Local\Programs\Python\Python38-32\lib\multiprocessing\process.py", line 91, in __init__
self._args = tuple(args)
TypeError: 'Enemy' object is not iterable
класс игрока -
import time
class Player:
Hp = 1
Damage = 1
Level = 1
Money = 1
Name = 1
Age = 1
Gender = 1
def setNameNage(self, name, age):
self.Name = name
self.Age = age
def setGender(self, gender):
self.Gender = gender
def setPlayer(self):
self.Hp = 100
self.Damage = 4
self.Level = 1
self.Money = 100
def getHit(self, attacker):
self.Hp = self.Hp - attacker.Damage
класс врага -
from random import randint
class Enemy:
Hp = 1
Damage = 0
Name = 'Error'
MoneyD = 0
WPM = 1
def Attack(self, target):
time.sleep(60 / self.WPM)
target.Hp = target.Hp - self.Damage
def getHit(self, Attacker):
self.Hp = self.Hp - Attacker.damage
def DropLoot(self, target):
target.Money = target.Money + self.MoneyD
Я делаю игру на гусеничном ходу в подземелье и пытаюсь поражать врага каждые X секунд, в зависимости от его WPM, поэтому я сделал его атака процесс
кто-нибудь знает, как исправить эту ошибку? Я действительно понятия не имею, как это исправить