Возникли проблемы с многопроцессорным и не повторяемым классом - PullRequest
0 голосов
/ 01 апреля 2020
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, поэтому я сделал его атака процесс

кто-нибудь знает, как исправить эту ошибку? Я действительно понятия не имею, как это исправить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...