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

相关推荐
摘星编程10 分钟前
深入理解CANN ops-nn BatchNormalization算子:训练加速的关键技术
python
魔芋红茶11 分钟前
Python 项目版本控制
开发语言·python
lili-felicity18 分钟前
CANN批处理优化技巧:从动态批处理到流水线并行
人工智能·python
一个有梦有戏的人20 分钟前
Python3基础:进阶基础,筑牢编程底层能力
后端·python
ujainu32 分钟前
Flutter + OpenHarmony 实现经典打砖块游戏开发实战—— 物理反弹、碰撞检测与关卡系统
flutter·游戏·openharmony·arkanoid·breakout
摘星编程37 分钟前
解析CANN ops-nn中的Transpose算子:张量维度变换的高效实现
python
Liekkas Kono1 小时前
RapidOCR Python 贡献指南
开发语言·python·rapidocr
玄同7651 小时前
Python 后端三剑客:FastAPI/Flask/Django 对比与 LLM 开发选型指南
人工智能·python·机器学习·自然语言处理·django·flask·fastapi
爱吃泡芙的小白白1 小时前
环境数据多维关系探索利器:Pairs Plot 完全指南
python·信息可视化·数据分析·环境领域·pairs plot