从零开始学Python游戏编程17-函数2
在《从零开始学Python游戏编程15-随机数2》中提到了“猜数字游戏”,玩家通过游戏提示来猜“魔术数字”。接下来我们可以通过“代码重构”的方式修改该游戏代码。“代码重构”指的是在不改变代码功能的前提下使得代码的结构更容易理解,更容易维护。
1 将游戏的主要功能写成函数
将《从零开始学Python游戏编程15-随机数2》中提到的所有代码写成函数,如图1所示。
图1 将游戏代码写成函数
其中,自定义函数runGame()即为包含了游戏所有代码的函数。
2 运行游戏
接下来,只需要调用自定义函数runGame(),即可运行游戏,代码如图2所示。
图2 运行游戏的代码
对于其他人来说,“猜数字游戏”只包含了一行代码。
注意1 调用自定义函数runGame()的代码必须与定义该函数的关键字def对齐。
3 为游戏添加选择菜单
通过以上重构,游戏的主程序化简成了1行代码,接下来为游戏添加选择菜单时,只需要在主程序中加入代码,而不需要考虑runGame()函数对应的代码了。首先删除掉图2中运行游戏的代码,之后为游戏添加选择菜单的代码如图3所示。
图3 为游戏添加选择菜单的代码
图3所示的代码可以看作是游戏的主程序。在while True循环的代码段中,第36-39行代码打印游戏菜单;第41行代码提示玩家输入菜单选项;当玩家输入“1”时,第42-43行代码调用自定义函数runGame()启动游戏;当玩家输入“2”时,第44-45行代码通过break跳出第35行的while循环,游戏结束。代码运行效果如图4所示。
图4 程序运行效果