2016-03-07 70 views
-3

我目前有一些关于Bools的问题。在学习Python The Hard Way之后,我创建了a game如何在另一个函数中更改Bool变量?

在我的游戏中有两个功能,我遇到了问题(roomOne和getFood),一个功能将您带到另一个功能,然后您可以选择拾取一块食物 - 稍后您将选择用来投掷开关以禁用你周围的电场。

我希望用户只有在他的人身上有食物时才能扔掉食物......目前 - 我的程序设置的方式 - 用户是否真的拥有食物并不重要 - 他可以抛弃它。我尝试在获得食物功能时返回foodBrick = True或(==)。但它没有解决。

我该如何解决我的游戏问题,这样我只能在foodBrick在我身上时才能关闭开关?

+0

'如果'扔'扔'现在就够了,但'Foodbrick = True'也应该是必需的。请仔细阅读问一个小问题。 – roadrunner66

+0

好的。我只是抬起头来'最小的问题'。对不起,下次我会尽量缩短它!并感谢您的意见。 – Snicklezs

+0

请在问题中直接包含代码(不在链接中,因为链接改变,问题变得无用)。 –

回答

0

你的直接问题是因为你总是设置foodBrick = True,无论用户在你的getFood()子程序中输入什么类型。

你已经完成了一大堆工作,所以我建议你看看代码,看看你是否可以识别出你正在重复做的任何事情,并看看你是否可以将这些常见的东西制作成子程序。

过去,我认为你应该考虑让玩家成为一个对象(类的成员)或字典,以便你可以在不同的子程序中给玩家添加属性,并让它们在整个过程中都可见。喜欢的东西:

player['hasFood'] = True 

player.has_food = True 

取决于你如何实现它。

+0

谢谢!我还没有学到任何关于课程的知识,但是我翻了几页翻阅了我的书,并在他们身上找到了一个页面 - 今晚我会读一读。我很感激帮助。 :D – Snicklezs

+0

您可以从模块范围内的空字典开始(不缩进):'Player = {}' –

相关问题