名称错误python,文本冒险游戏

时间:2013-11-16 03:41:38

标签: python-3.x adventure

所以我有一个问题,我不太明白为什么会这样。当它应该在我的武器类上时,我得到(名称错误全局变量“值”未定义)。

from items import *

class weapons(Item):
    def __init__(self, name, attack_damage, lifesteal = 0):
        super(weapons,self).__init__(name, value, quantity=1)
        self.attack_damage = attack_damage
        self.lifesteal = lifesteal

这是武器从已经定义了值的类中得到的类。

class Item(object):
    def __init__(self, name, value, quantity=1):
        self.name = name
        self.raw = name.replace(" ","").lower()
        self.quantity = quantity
        self.value = value
        self.netValue = quantity * value
    def recalc(self):
        self.netValue = self.quantity * self.value

我已经有一段类似于此的代码正在运行,但由于某种原因,这个值错误正在发生。我只想把它包括在内。

from character import*
class player(character):
    def __init__(self,name,hp,maxhp,attack_damage,ability_power):
        super(player,self).__init__(name, hp, maxhp)
        self.attack_damage = attack_damage
        self.ability_power = ability_power

以及该玩家从

获取其内容的类
class character(object):
    def __init__(self,name,hp,maxhp):
        self.name = name
        self.hp = hp
        self.maxhp = maxhp
    def attack(self,other):
        pass

你可以看到我在这里做了这个代码,当我给玩家打电话时这段代码可以工作。

2 个答案:

答案 0 :(得分:1)

您需要将value参数添加到武器类的__init__构造函数中。

答案 1 :(得分:0)

super需要参数value,但您没有将其传递到 init