2024-04-26 14:06:01 发布
网友
我怎样才能使它不完全依赖全局变量呢?当我运行游戏时,它会给我一个语法警告,但是如果没有globals,我的游戏就不能工作。你知道吗
http://pastebin.com/pnzutun6
只是浏览一下你的代码,我注意到你似乎并没有真正利用面向对象编程。将其中一些函数转换为类,并让您创建的对象保存当前的全局变量,这些变量会不断给您带来问题。你知道吗
你可以,就像奥克斯洛克说的,利用OOP。更简单的选择(虽然可能不是最好的风格)是将统计信息作为参数传递给每个函数。最好的方法是通过字典:
stats = {'ponyattack': 0, 'health': 100, 'armor': 1, 'strength': 1, 'potion': 0, 'attack': 10, 'stamina': "N/A", 'shield': "lol, what shield?", 'hint': 3}
定义所有函数以接受stats作为参数。如果一个函数只需要一个或两个统计信息,则分别传递它们。。。它有助于更好的风格。你知道吗
无论何时您想要访问一个特定的stat,您都可以调用stats['ponyattack']或stats['health']或其他任何东西。也可以用相同的方法修改和添加统计信息:
stats['ponyattack']
stats['health']
stats['health'] = stats['health'] + 1 stats['armor'] = 10
Here是关于字典的更多信息。你知道吗
只是浏览一下你的代码,我注意到你似乎并没有真正利用面向对象编程。将其中一些函数转换为类,并让您创建的对象保存当前的全局变量,这些变量会不断给您带来问题。你知道吗
你可以,就像奥克斯洛克说的,利用OOP。更简单的选择(虽然可能不是最好的风格)是将统计信息作为参数传递给每个函数。最好的方法是通过字典:
定义所有函数以接受stats作为参数。如果一个函数只需要一个或两个统计信息,则分别传递它们。。。它有助于更好的风格。你知道吗
无论何时您想要访问一个特定的stat,您都可以调用
stats['ponyattack']
或stats['health']
或其他任何东西。也可以用相同的方法修改和添加统计信息:Here是关于字典的更多信息。你知道吗
相关问题 更多 >
编程相关推荐