定义全局变量以保存将由raw_input引用的值

时间:2015-10-27 18:57:57

标签: python python-2.7

我正在制作基于文本的RPG。有了这个上下文,让我们说我想制作一个全局的法术列表,然后定义某些法术在用户调用时要采取的行动。因此,如果我有一个全球法术列表,那么为这些法术分配某些行动的最佳方法是什么?这是一些代码,可以帮助您了解我的战斗机制。例如,我需要允许用户呼叫'治疗',然后治愈保持健康数字和冷却机制的属性,例如, “你必须等5秒再次使用这个法术。”定义这些属性的最佳方法是什么,并且这些属性是全局的,因此可以通过每个战斗函数引用它们而不必重复属性?

这是我的代码的一部分,可以清理我的战斗机制。当玩家在raw_input'inp'下被提示输入咒语的名字,并且他们键入痊愈时,冷静效果应该适用于一定的时间长度,或者可能在战斗中使用一定数量的回合,以及提高用户生命的能力。我用于生活的属性属于一个名为'user'的类和一个变量'health'。所以user.health = 100有效

available_spells = ['heal', 'fireball']
equipped = {'Armor': 'Mage Robes',
          'Weapon': 'Wooden Staff',
          'Spells': ['heal', 'fireball']

print "Your available spell(s) is(are) '%s'. " % equipped["Spells"]
inp = raw_input("Type the name of a spell you want to use.: ").lower()
lst = [x for x in available_spells if x.startswith(inp)]
if len(lst) == 0:
    print "No such spell"
    print ' '
elif len(lst) == 1:
    spell = lst[0]
    print "You picked", spell
    #combat functions here
else:
    print "Which spell of", equipped["Spells"], "do you mean?"

0 个答案:

没有答案