那么我想做什么
我所做的是在你的角色和敌人之间建立一个战斗系统
那么哪里出了问题
有两类:
class Ally
以及
class Enemy
每个类都有自己独特的属性:名称、生命值、攻击和防御
class Ally
def __init__(self, name, health, attack, defense):
self.name = 'goodguy'
self.health = 100
self.attack = 50
self.defense = 30
class Enemy
def __init__(self, name, health, attack, defense):
self.name = 'badguy'
self.health = 120
self.attack = 40
self.defense = 20
但是阶级盟友和阶级敌人都需要对方的健康和防御属性才能造成伤害
class Ally(object):
def __init__(self, name, health, attack, defense):
self.name = goodguy
self.health = 100
self.attack = 50
self.defense = 30
def fight(self)
(damage moves)
Enemy health = Enemy.health - ((self.attack/Enemy.defense)+2)
def battle_script(self)
while self.health > 0 and Enemy.health > 0:
self.fight()
if Enemy.health <=0:
break
Enemy.fight()
if self.health <=0:
break
if Enemy.health() <= 0:
print ('The ' + Enemy.name + ' was defeated')
if self.health <= 0:
print ("You were defeated")
class Enemy(object):
def __init__(self, name, health, attack, defense):
self.name = badguy
self.health = 120
self.attack = 40
self.defense = 20
def fight(self)
(random damage moves)
Enemy health = Ally.health - ((self.attack/Ally.defense)+2)
Ally.battle_scrip()
所以问题是,我不知道如何提取它们各自的属性,也就是说,在战斗脚本中调用敌人的.health,我可能会将它们全部提取到一个类中,但我宁愿将它们分开,因为当我创建更多敌人时
首先创建类的实例
bob = Ally();evil_frank = Enemy();
。。。除此之外,我不知道你期望在这里发生什么基于你的代码,但我猜你想要什么样的东西如下所以你想要一个one:many relationship 对于Ally:Enemy classes? 我要做的是,创建一个敌人类对象的列表,这些对象是你盟友类的成员。你甚至可以把一个参数传递给你的盟友构造器来选择你想要的敌人的数量
应该是这样的:
如果你想要一个Many:Many relationship 我将创建另一个类,它可以作为战斗的对象。让我们称之为“战斗”类。然后你可以做同样的把戏,为你的盟友和敌人列出一个类对象列表,然后在战斗类中拥有你指挥战斗的逻辑
相关问题 更多 >
编程相关推荐