我目前正在用 Python 制作游戏。每当您在游戏中需要帮助时,只需键入帮助即可阅读帮助部分。
唯一的问题是,我需要为每个级别添加一个功能 block 。
def level_01():
choice = raw_input('>>>: ')
if choice=='help':
level_01_help()
def level_012():
choice = raw_input('>>>: ')
if choice=='help':
level_02_help()
所以我想知道是否可以为所有级别制作一个全局功能 block ? 当你输入help时,你会进入help(),然后它会自动回到你刚刚来自的功能 block 。
我真的希望你明白我的意思,我真的很感激我能得到的所有帮助。
请您参考如下方法:
您实际上可以将帮助函数作为参数传递,这意味着您的代码可以变成:
def get_choice(help_func):
choice = raw_input('>>>: ')
if choice == 'help':
help_func()
else:
return choice
def level_01():
choice = get_choice(level_01_help)
def level_02():
choice = get_choice(level_02_help)
理想情况下,您应该为所有与界面相关的任务创建一个单独的模块,这样游戏和界面就会成为两个独立的实体。这应该会使那些 2911 行更清晰一些,如果您决定更改界面(例如,从命令行更改为 Tkinter 或 Pygame),您将会更轻松地完成它。只是我的 2¢
