我的游戏严重依赖全局变量,但也给了我语法警告,即使没有它们游戏将无法运行



我如何才能做到这一点,使它完全不依赖全局变量?当我运行游戏时,它会给我一个语法警告,但如果没有全局变量,我的游戏就无法运行。

http://pastebin.com/pnzutun6

正如oxrock所说,您可以使用OOP。更简单的选择(尽管在风格上可能不是最好的)是将你的统计数据作为参数传递给你的每个函数。最好的方法是通过字典:

stats = {'ponyattack': 0, 'health': 100, 'armor': 1, 'strength': 1, 'potion': 0, 'attack': 10, 'stamina': "N/A", 'shield': "lol, what shield?", 'hint': 3}

定义所有函数以将统计数据作为参数。如果一个函数只需要一个或两个统计数据,请单独传递它们。。。它有助于打造更好的风格。

无论何时您想要访问特定的stat,都可以调用stats['ponyattack']stats['health']或其他任何方法。你也可以用同样的方式修改和添加统计数据:

stats['health'] = stats['health'] + 1
stats['armor'] = 10

这是关于词典的更多信息。

在浏览您的代码时,我注意到您似乎根本没有真正使用OOP。将其中一些函数转换为类,并让您创建的对象保存您当前的全局变量,这些变量会不断给您带来问题。

最新更新