Python 现代开发学习笔记

(二十二)独立练习与后续衔接

  1. 自拟:比较两套移动。 用同样一秒输入分别运行固定每帧位移和按 dt 位移,保留 30、60、144 帧的计算结果,解释速度单位。
  2. 自拟:给按钮补操作。 让键盘与鼠标共用静音切换入口,检查一次按下只切换一次,并确认暂停时按钮仍然响应。
  3. 自拟:复盘一次途中碰撞。 选择两个端点都不重叠的输入,先画中间位置,再手算两轴时间段,比较 collision_time 的结果;另给一条两轴时间段不相交的轨迹。
  4. 自拟:改变难度曲线。 修改生成间隔或速度变化,列出分数 0、10、20、30 时的实际数值,检查新的生成累计器仍保留余量。
  5. 自拟:新增掉落奖励。 奖励与障碍用不同类型和颜色,分别决定碰撞后的加分或结束动作,不能只换图像却仍走同一个伤害分支。
  6. 自拟:记录并重放输入。 保存逻辑步编号、方向与暂停动作,同一种子下重放,比较关键时刻的障碍、位置与分数。先从固定方向开始,再增加一次方向切换。
  7. 自拟:检查一次资源迁移。 将游戏安装到新环境,从另一目录启动,确认图像和声音仍从包资源读取,最高分写入所选的文件位置。
  8. 自拟:保存一局统计。 记录每次得分对应的逻辑时间,输出成 CSV;下一章用 NumPy 按数组统计相邻得分间隔,比较不同种子和输入下的记录。

这一章把持续交互拆成了输入、时间、状态更新与绘制。下一章再回到批量数据:前面的采集记录和这里的游戏统计都能变成表与数组。我们会沿同一份小数据,逐步看清 NumPy 的形状、索引、广播与归约怎样替代重复的列表计算。

本章习题解答与推导 按题号整理实现、过程说明与运行检查,可在完成练习后逐项对照。

笔记正文与全部题解 · Ctrl / ⌘ K