繁体   English   中英

如何更改一个函数中的 Bool 变量?

[英]How can I change a Bool variable in one function from another?

我目前在 Bools 方面遇到了一些问题。 在 Learn Python The Hard Way 中获得 ex35 后,我正在创建一个游戏

在我的游戏中,我遇到了两个函数(roomOne 和 getFood)的问题,一个函数将您带到另一个函数,然后您可以选择捡起一块食物 - 稍后您将使用它扔一个关闭你周围电场的开关。

我希望用户只有在他身上确实有食物时才能扔食物......目前 - 按照我的程序设置方式 - 用户是否真的有食物并不重要 - 他可以扔无论哪种方式。 我试图在 get food 函数中返回 foodBrick = True 或 (==) 。 但它没有成功。

我该如何修复我的游戏,以便只有当 foodBrick 在我身上时我才能关闭开关?

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

你已经做了很多工作,所以我建议你看看代码,看看你是否可以识别你正在重复做的任何事情,看看你是否可以把那些常见的事情变成一个子程序。

在那之后,我认为你应该考虑让玩家成为一个对象(类的成员)或字典,这样你就可以在不同的子程序中为玩家添加属性,并让它们始终可见。 就像是:

player['hasFood'] = True

或者

player.has_food = True

取决于你如何实现它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM