我目前在Bools方面遇到了一些问题。我在学习Python困难之路中获得ex35之后创建了a game。
在我的游戏中有两个功能,我遇到麻烦(roomOne和getFood),一个功能带你到另一个,然后你可以选择拿起一块食物 - 你会后来用来投掷开关来禁用你周围的电场。
我希望用户只有能够扔掉食物,如果他真的有他的食物...目前 - 我的程序设置方式 - 如果用户实际上有食物并不重要 - 他可以抛出任何一种方式。我试图在获取食物功能中返回foodBrick = True或(==)。但它没有成功。
如何修复我的游戏,这样我才能只在foodBrick在我的人身上时关闭开关?
答案 0 :(得分:0)
您的直接问题是因为无论用户在getFood()
子例程中输入什么内容,您总是设置foodBrick = True。
您已完成了大量工作,因此我建议您查看代码,看看您是否可以识别出您反复做的任何事情,看看您是否可以将这些常见的东西变成一个子程序。
过去,我认为您应该考虑将播放器作为对象(类的成员)或字典,以便您可以在不同的子例程中向播放器添加属性,并让它们始终可见。类似的东西:
player['hasFood'] = True
或
player.has_food = True
取决于您的实施方式。