使用http://www.learnpythonthehardway.org/
中的优秀教程学习Python(2.7)我正在尝试制作一个小文字输入游戏以提高我的技能,作为其中的一部分我试图在主角上添加一个健康计。我也在增加战斗,这将减少他们的健康。
以下代码用于在每场比赛开始时将玩家健康状况设置为100,它通过执行另一个功能" player_health"在一个名为" Set_Health"
的班级中class Health():
def store_health(self):
d = Set_Health()
d.player_health()
local_health = d.player_health()
print "Your health is at", local_health, "%"
return local_health
当下面的" punch_received"执行功能后,球员的生命值降低10倍
class Combat():
def punch_received(self):
punch = 10
x = Health()
x.store_health()
combat_health = x.store_health()
combat_health = combat_health - punch
print "You have been punched, your health is", combat_health, "%"
到目前为止一切顺利。它可能不是完美的或最好的方法,但它可以作为学习的基础。
我的问题是我不知道如何返回/发送" combat_health"另一个变量,例如" current_hero_health"这是另一个功能。
class Hero_Health():
def current_hero_health(self):
# I want to store a running total of the heros health in here
非常感谢任何帮助。谢谢Deepend
答案 0 :(得分:0)
您只需向该功能添加更多参数即可。类中定义的函数的第一个参数(与@staticmethod
和@classmethod
相对)是对象本身,函数的所有参数出现在:
def current_hero_health(self, value):
self.health = value
MyHealthObject.current_hero_health(5)
答案 1 :(得分:0)
您将current_hero_health
作为Hero_Health
的属性。
class Hero_Health():
def __init__(self, current_h):
self.current_hero_health = current_h
def current_hero_health(self):
self.current_hero_health = 3 ; # this is stored total of hero health
您可以使用self.current_hero_health
从类的任何方法访问成员,并且它存储此类对象的全局计数。
希望这有帮助。