2016-09-28 15 views
0

マジッククラスの属性を使用してモンスタークラスの属性を参照する、テキストベースのRPGにマジックシステムを作成しようとしています。 モンスタークラスはPython:クラスの属性を別のクラスや変数の属性で参照するにはどうすればよいですか?

bestiary = { 
99999: monster(name="Slime", currentHP= 3, maxHP= 10, initiativeMod= 1, AC= 0, baseAttack= 0, equippedWeapon= itemsList[13], speed = 10) ##Syntax items 
} 

呪文は各呪文のインスタンスと形

class BuffSpell(object): 
def __init__(self, **kwargs): 
    self.__dict__.update(kwargs) 

で作成された形式で保存されたモンスターのリストと

class monster(object): 
    def __init__(self, **kwargs): 
     self.__dict__.update(kwargs) 

のように見えます書式

bardSpells = { 
    2: BuffSpell(name= "Flare", level= 0, stat= "baseAttack", value = -1, MP = 3, spellType = "buff"), 
} 

私はもちろん、動作しません。この

def useMagic(target, spell): 
if spell.spellType == "buff": 
    x = spell.stat 
    target.x += spell.value 

のような呪文で属性によって指定されたモンスターで属性を参照しようとしています。 spell.stat属性を取得して、対応するmonsterの属性にspell.valueを適用するにはどうすればよいですか?

答えて

1

次のような何かを試みることができる:

def use_magic(target, spell): 
    if spell.spell_type == "buff": 
     stat = spell.stat 
     setattr(target, stat, getattr(target,stat) + spell.value) 
関連する問題