《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》中提到的地址中下载。

相关推荐
摸鱼的春哥1 小时前
10年3次大失败,他从“罪人”输成了中年人的“白月光”
游戏
用户8356290780513 小时前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
c8i3 小时前
python中类的基本结构、特殊属性于MRO理解
python
liwulin05063 小时前
【ESP32-CAM】HELLO WORLD
python
Doris_20234 小时前
Python条件判断语句 if、elif 、else
前端·后端·python
Doris_20234 小时前
Python 模式匹配match case
前端·后端·python
这里有鱼汤4 小时前
Python量化实盘踩坑指南:分钟K线没处理好,小心直接亏钱!
后端·python·程序员
大模型真好玩5 小时前
深入浅出LangGraph AI Agent智能体开发教程(五)—LangGraph 数据分析助手智能体项目实战
人工智能·python·mcp
测试老哥5 小时前
Selenium 使用指南
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
百锦再5 小时前
[特殊字符] Python在CentOS系统执行深度指南
开发语言·python·plotly·django·centos·virtualenv·pygame