将函数的参数传递给另一个函数?

时间:2014-06-13 02:53:36

标签: python function variables parameters

我不确定如何说出来,但我会尽我所能。我为僵尸创建了一个函数,另一个用于攻击。但我不知道如何将僵尸功能的参数传递给攻击函数。如果有更多技术方法来说明这一点,请告诉我。这是我的测试代码,我相信这个社区将能够弄明白我的意思。最终目标是创建一个函数,我可以插入一个怪物名称,并通过战斗功能运行它的指定参数(健康,防御等)。即def combat(monster_name):非常感谢任何和所有的建议。谢谢!

#Functions
def zombie():
    global  zombie_hp
    zombie_hp = 10
    print "Zombie encounter"
    print "Current Health:", zombie_hp
def attack(monster):
     if monster > 0:
        while  monster > 0:
            user_action = raw_input("Do you attack the zombie? [y]: ")  
            if user_action == "y":
                monster_hp = monster_hp  - 1 
                print "Health remaining: ", monster_hp

def user_action():
    global user_action
    user_action = raw_input("Do you attack the zombie? [y]: ")




# Zombie Encounter (attack_testing)
attack(zombie())
if zombie_hp == 0:
    print "Zombie Defeated"

1 个答案:

答案 0 :(得分:0)

我建议您使用class

class Zombie:
    def __init__(self):
            self.defense = 10
            self.hp = 100
    def hit(self, hp):
            self.hp-=hp
    def upgrade(self, level):
            self.defense+=level

这将记住你创建的每个僵尸的hp和防御

>>> Max = Zombie()
>>> Max.hit(17)
>>> Max.upgrade(2)
>>> Max.hp
83
>>> Max.defense
12
>>>