10-07 检查一次资源迁移
题目
将游戏安装到新环境,从另一目录启动,确认图像和声音仍从包资源读取,最高分写入所选的文件位置。
推导与做法
资源通过 importlib.resources.files 定位安装包里的 assets,不能用启动目录拼出 src 路径。最高分是运行数据,放在调用者选择的位置,不写回安装包。
先 uv build,再把 wheel 安装进新环境,从项目外执行游戏入口的 –help,最后实际启动窗口。代码列出包资源,可与图像和声音清单比较;安装时保留 pyproject 中的资源配置。
实现与运行
查看带注释实现。本题与相关处理函数放在同一章节代码文件中;启动工具负责定位相邻项目和选择题号。
在配套目录的 Pygame与交互程序/dodge_project 中运行。先按项目 README 执行 uv sync --locked。
# 使用项目解释器运行本题,题号决定执行哪一组演示。
uv run python "../../学习索引/参考实现/代码/ch10.py" 10-07
程序按题号输出处理后的值、查询结果或状态。先和前面的手算比较,再修改一项输入重跑。
查看本题运行结果
# 与上面的手算状态和题目数值逐项比较。
{
"resources": [
"hit.wav",
"obstacle.png",
"player.png",
"score.wav"
],
"rebuild": "uv build; 在新环境安装 wheel,再从项目目录外运行 reading-dodge --help"
}