私はPythonでテキストベースの冒険を作成しています。私はPythonに関する2冊の本を用意してオンラインコースを受講しているので、私は本当にすべての基本を失ったと思う。バインドされていないメソッドエラー - テキストベースの冒険
現在、現在アイテムを作成しています。私の設定は
アイテム - >武器 - ここ(特定の武器)です。
すべてのクラスは前のとおり継承します。
Holy_SwordやStickなどの項目の値を印刷できません。私はそれらをクラスとして作成せず、変数を使って武器のインスタンスを作成すれば、それらを印刷することができます。しかし、私がラインでさらにやりたいことのために、私は本当にクラスであることを望んでいます。
私は取得していますエラーは次のとおりです。最初の引数は(代わりに何も持っていない)としてHoly_Swordインスタンスで呼び出さなければなりません
未結合の方法STR()
私のコードは次のとおりです。
class Item(object):
def __init__(self, name, value, description):
self.name = name
self.value = value
self.description = description
def item_description(self):
return "Your %s is worth %d gold and is a %s" % (self.name, self.value, self.description)
class Weapon(Item):
def __init__(self,name, value,description, attack):
self.attack = attack
super(Weapon, self).__init__(name, value, description)
def __str__(self):
return "Your %s is worth %d gold and has an Attack Damage of %d, it is %s" % (self.name, self.value, self.attack, self.description)
class Stick(Weapon):
def __init__(self, name, value, description, attack):
super(Stick, self).__init__(name = "Stick", value= 1, description = "A stick...there may be potential here....or not.", attack = 1)
class Holy_Sword(Weapon):
def __init__(self, name, value, description, attack):
super(Holy_Sword, self).__init__(name = "The Holy Sword of Antioch", value= 20, description = "A Sword whose potential far outweighs it's lack of stylishness ", attack = 20)
class Sword(Weapon):
def __init__(self, name, value, description, attack):
super(Sword, self).__init__(name = "Sword", value= 3, description = "A Wooden Sword.", attack = 5)
print Holy_Sword.__str__()