您的位置:首页 > 健康 > 养生 > 杭州做网站的集团_nba最新排名火箭_网络优化seo是什么工作_seo优化步骤

杭州做网站的集团_nba最新排名火箭_网络优化seo是什么工作_seo优化步骤

2025/5/7 17:57:15 来源:https://blog.csdn.net/hou09tian/article/details/147110868  浏览:    关键词:杭州做网站的集团_nba最新排名火箭_网络优化seo是什么工作_seo优化步骤
杭州做网站的集团_nba最新排名火箭_网络优化seo是什么工作_seo优化步骤

在《从零开始学Python游戏编程18-函数3》中提到,可以对游戏代码进行重构,把某些代码写入函数中,主程序再调用这些函数,这样使得代码程序更容易理解和维护。游戏循环模式实际上也是把代码写入到若干个函数中,通过循环的方式调用这些函数。通过游戏循环模式,可以看作是一个设计游戏的模板,通过该模板,可以更便捷地实现游戏编程。

1 游戏循环模式介绍

游戏循环模式的结构如图1所示。

图1 游戏循环模式结构图

也就是说,对以一个游戏代码,可以将其分成5个自定义函数。其中,init()函数在游戏启动时调用,用来初始化游戏状态和游戏数据;processInput()函数在每次循环中都要被调用,用来处理玩家通过键盘、鼠标以及手柄的输入信息;update()函数根据processInput()函数得到的玩家输入,更新游戏状态和游戏数据;render()函数的作用是将update()函数更新后的游戏状态和游戏数据显示给玩家;run()函数包含了以上四个函数,其结构如图2所示。

图2 run()函数的结构

从图2中可以看出,run()函数中首先调用init()函数进行初始化,之后通过while True语句循环调用processInput()、update()和render()函数完成游戏功能。这也是游戏循环模式的核心。

2 将“猜数字游戏”重构为游戏循环模式

接下来将《从零开始学Python游戏编程18-函数3》中提到“猜数字游戏”重构为游戏循环模式。也就是将该游戏的代码分为图1所示的五个自定义函数,并按图2所示的结构调用函数。

2.1 init()函数

init()函数的作用是初始化游戏状态和游戏数据。

2.1.1 游戏状态

对于“猜数字游戏”来说,其游戏状态包括玩家输入数字时的四种情况:第一种是当玩家输入的数字与“魔术数字”相同,此时的状态是“win”,即玩家获胜;第二种是当玩家输入的数字比“魔术数字”大,此时的状态是“higher”;第三种是当玩家输入的数字比“魔术数字”小,此时的状态是“lower”;第四种是当玩家输入quit退出游戏,此时的状态是“end”,即游戏结束。

2.1.2 游戏数据

游戏数据就是“魔术数字”,该数据是随机产生的。

2.1.3 init()函数的代码

init()函数的代码如图3所示。

图3 init()函数的代码

其中,init()函数以元组的方式返回游戏状态和游戏数据。None表示游戏的初始状态,random.randint(1,10)为随机产生的“魔术数字”。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com