当前位置: 首页 > news >正文

从零开始学Python游戏编程20-游戏循环模式2

2.2 processInput()函数

processInput()函数的作用是处理玩家的输入,其代码如图4所示。

图4 processInput()函数的代码

其中,第13行代码提示玩家输入数字;第14-21行代码处理玩家的输入;最后第22行将玩家的输入作为返回值。对于玩家来说,processInput()函数就像黑盒子一样,不用去管它的内部结构,只需要知道通过它能够得到玩家输入的数字即可。

2.3 update()函数

update()函数的作用是根据玩家输入来更新游戏状态和游戏数据,因此该函数的参数有三个,分别表示游戏状态、游戏数据和玩家输入,代码如图5所示。

图5 update()函数的代码

其中,gameStatus表示游戏状态,magicNumber表示游戏数据,playerNumber表示玩家输入;该函数中,根据playerNumber和magicNumber的关系,设置gameStatus,即完成了游戏状态的更新,最后以元组的方式返回更新后的游戏状态和游戏数据。

2.4 render()函数

render()函数的作用是显示更新后的游戏状态和游戏数据,因此该函数的参数有两个,分别表示游戏状态和游戏数据,代码如图6所示。

图6 render()函数的代码

其中,参数gameStatus表示游戏状态,参数magicNumber表示游戏数据;在函数中根据游戏的不同状态,打印不同的信息。

2.5 runGame()函数

runGame()函数的作用是通过调用以上自定义函数,启动游戏。根据《从零开始学Python游戏编程19-游戏循环模式1》中提到的结构,其代码如图7所示。

图7 runGame()函数的代码

在runGame()中,第45行代码通过init()函数对游戏状态和游戏数据进行初始化;第46行代码根据游戏状态判断游戏是否继续运行,当状态不是“win”并且也不是“end”时,游戏继续运行(是这两种状态之一时,则游戏结束);第47行代码通过processInput()函数获取玩家的输入;第48行代码通过update()更新游戏状态和游戏数据;第49行代码通过render()函数显示更新后的游戏状态和游戏数据。

3 游戏主程序

游戏的主程序只有一行代码,即调用runGame()函数启动游戏,如图8所示。

图8 游戏主程序

4 游戏运行效果

游戏运行效果如图9所示。

图9 游戏运行效果

相关文章:

  • spark Core-RDD转换算子
  • 【day1】AI软件测试学习笔记
  • Java bs架构/反射
  • 数据结构与算法之3.1 符号表
  • DeepSeek开源周开源的五个项目分析
  • openharmony—release—4.1开源鸿蒙源码编译踩坑记录
  • springboot中如何处理跨域
  • ZYNQ笔记(一):hello world
  • 如何在CentOS部署青龙面板并实现无公网IP远程访问本地面板
  • UE5中如何修复后处理动画蓝图带来的自然状态下的metablriger身体绑定形变(如耸肩)问题
  • SQL入门篇,数据库基础语法与核心操作
  • YOLOv8主干网络升级——融合ResNet18/34/50/101的高效特征提取架构设计
  • 天梯集训笔记整理
  • Git分布式版本控制系统从入门到精通(B站黑马)学习笔记
  • Spark-Core编程
  • Java 如何实现类的热加载和热部署?
  • jQueryHTML与插件
  • MySQL切换PolarDB-X方案
  • GOT-OCR2: 通用OCR理论:通过统一端到端模型迈向OCR-2.0时代
  • NSS#Round30 Web
  • 温州网站建站模板/中国职业培训在线
  • 什么软件可以建设网站/怎样自己做网站
  • 深圳专业网站设计专业定制/宁波网络推广团队
  • 永康网站建设/游戏推广员上班靠谱吗
  • 网站维护工程师月薪多少/黑帽seo培训大神
  • 利用已有网站 制作/百度收录查询工具