《Python游戏编程入门》注-第二章5

2 监听键盘按键

Pie游戏运行后,当玩家按下"1-4"这四个数字按键,会在相应位置绘制"饼"。因此,游戏需要对键盘按键进行监听,代码如图7所示。

图7 监听键盘按键

其中,第22行的for循环用于获取事件信息,第23-25行代码表示当用户点击了游戏窗口右上角的"关闭"按钮时,游戏退出;第26行代码表示当玩家按下了键盘按键,KEYUP表示按键弹起(按键按下后就会弹起);第27-37行对玩家按下的按键进行判断,pygame.K_ESCAPE表示键盘中的"Esc"按键,K_1、K_2、K_3和K_4分别表示键盘上"1-4"数字键;piece1、piece2、piece3和piece4表示"1-4"数字键被按下的标志,True表示按下,False表示没有按下,这四个变量在while True之前定义,代码如图8所示。

图8 按键标志的定义

3 响应键盘按键

当玩家按下不同按键时,游戏应该进行不同的响应,即对应"1-4"四个数字键,绘制不同的"饼",绘制"饼"就相当于绘制一个90度的"弧形"以及"弧形"的两条边(绘制"线条")。该代码如图9所示。

图9 响应键盘按键的代码

其中,四个if语句分别判断"1-4"四个数字键是否被按下;第54-59代码对应数字"1"被按下后的响应;第55-56行定义了绘制"弧形"的起始弧度和结束弧度,第57-59行代码分别用来绘制"弧形"和其两个边,"弧形"和"线条"所需的坐标如图10所示。

图10 "弧形"和"线条"坐标

图10所示的代码中表示位置、宽度和颜色的变量定义代码如图11所示。

图11 变量定义

相关链接2 绘制"弧形"和绘制"线条"的方法请参考《Python游戏编程入门注-第2章2》《Python游戏编程入门注-第2章3》

注意4 图9所示的代码位置在while True中。

注意5 图11所示的代码位置在while True之前。

4 改变"饼"的颜色

当4个"饼"都画完后,改变"饼"的颜色,代码如图12所示。

图12 改变"饼"颜色的代码

其中,piece1、piece2、piece3和piece4表示"1-4"数字键被按下的标志,数字键按下,则说明对应的"饼"已经画完。当这四个变量均为True时,表示当4个"饼"都画完,此时将表示"饼"颜色的变量color进行修改。

注意6 图12 所示的代码位置在while True中。

注意7 完整代码请在《Python游戏编程入门注-第2章1》中提到的地址中下载。

相关推荐
YuTaoShao几秒前
【LeetCode 每日一题】3602. 十六进制和三十六进制转化——(解法二)手写进制转换
linux·python·leetcode
充值修改昵称3 分钟前
数据结构基础:图论基础全面解析
数据结构·python·图论
喵手9 分钟前
Python爬虫实战:城市公交数据采集实战:从多线路分页到结构化站点序列(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·城市交通数据采集·多线路分页导出csv·sqlite持久化存储
2301_8112329815 分钟前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
前端不太难19 分钟前
HarmonyOS 游戏里的“假异步”,为什么会卡
游戏·状态模式·harmonyos
深蓝海拓20 分钟前
海康 MV 相机几种Bayer RG像素格式的处理
笔记·python·qt·学习·pyqt
少年强则国强25 分钟前
anaconda安装配置pycharm
ide·python·pycharm
m0_5613596726 分钟前
自动化与脚本
jvm·数据库·python
盐真卿27 分钟前
python第五部分:文件操作
前端·数据库·python
多打代码35 分钟前
2026.1.29 复原ip地址 & 子集 & 子集2
开发语言·python