- Created Chapter1-review.md with syntax, character definitions, and dialogue checks. - Created Chapter2-review.md with syntax, missing images, and logic errors. - Created Chapter2-Side-review.md addressing syntax, character definitions, and dialogue issues. - Added SUMMARY.md to summarize review findings and highlight critical issues. - Included new image assets for xiaowei and backup files. - Identified and documented several logic errors and suggestions for code cleanup across chapters.
5.3 KiB
5.3 KiB
Chapter2.rpy 审阅报告
文件信息
- 文件路径:
game/Chapters/Chapter2/Chapter2.rpy - 行数: 440
- 包含场景: Chapter2_Scene1, C2S2 ~ C2S7 + C2S5_end
- 新增角色定义:
zhuchi(主持人),yang(杨义涵)
语法错误
无语法错误。menu 语句、条件跳转、if/else 结构基本正确(详见下方逻辑错误部分)。
角色定义检查
| 角色 | 定义位置 | 使用情况 | 状态 |
|---|---|---|---|
me |
script.rpy:4 | 正常 | ✓ |
system_ |
script.rpy:11 | 正常 | ✓ |
xingyu |
script.rpy:5 | 正常 | ✓ |
lhy |
script.rpy:6 | 正常 | ✓ |
yh |
script.rpy:14 | 正常 | ✓ |
xiaowei |
script.rpy:9 | 正常 | ✓ |
xiaowei_w |
script.rpy:10 | 正常 | ✓ |
me_w |
script.rpy:15 | 正常 | ✓ |
yutong |
script.rpy:13 | 正常 | ✓ |
zhuchi |
Chapter2.rpy:2 | 正常 | ✓ |
yang |
Chapter2.rpy:3 | 正常 | ✓ |
tongxue |
script.rpy:16 | 未在 Chapter2 使用 | — |
yutong 角色使用
yutong 在 C2S3 (行194) 中被 show 显示为 sprite,但 game/images/ 中不存在 yutong.png,游戏运行到此时会报错。详见下方"缺失资源"。
图像引用检查
🔴 缺失的图像文件
| 引用位置 | 图像名 | 文件 | 状态 |
|---|---|---|---|
| 行58 | bg computer lab |
— | 缺失! |
| 行130 | bg computer lab door |
— | 缺失! |
| 行194 | yutong (sprite) |
— | 缺失! |
| 行337 | bg schoolgate evening |
— | 缺失! |
| 行406 | bg ryt room night |
— | 缺失! |
已存在但未跟踪的资源
| 引用 | 文件 | Git 状态 |
|---|---|---|
bg auditorium (行233) |
bg auditorium.png |
untracked |
bg rooftop |
bg rooftop.png |
untracked |
bg xiaowei room night |
bg xiaowei room night.png |
untracked |
Flag 和变量检查
Flag 字典
| Flag | 设置位置 | 读取位置 | 状态 |
|---|---|---|---|
flag["lhy_team"] |
行44 (True) / 行48 (False) | 未读取 | ⚠️ 只写未读 |
flag["C2S1_think"] |
行51 (False) | 未读取 | ⚠️ 只写未读 |
flag["competition_note"] |
C2Side1.rpy:75 (True) | 行237 .get(...) |
✓ |
统计变量修改
| 变量 | 修改位置 | 值 |
|---|---|---|
lhy_stats["affection"] |
行43, 318 | +5, +1 |
xingyu_stats["affection"] |
行47 | -5 (惩罚分支) |
yh_stats["affection"] |
行175, 314 | +2, +1 |
yh_stats["understanding"] |
行176 | +2 |
xiaowei_stats["affection"] |
行173, 281, 367-378 | 根据选择 +1~3 |
xiaowei_stats["interactionFrequency"] |
行174, 282, 398 | +2 × 2 |
xiaowei_stats["synergy"] |
行397 | +3 |
xiaowei_stats["is_xiaowei_w"] |
行283 | True |
yutong_stats["affection"] |
行224, 429 | +2 × 2 |
yutong_stats["attention"] |
行225, 430 | +2 × 2 |
tao_stats["humorSense"] |
行330 | +2 |
tao_stats["selfAcceptance"] |
行432 | +2 |
lzx_stats["infoOpenness"] |
行431 | +1 |
所有 key 均在 script.rpy 中定义 ✓
逻辑错误
🔴 严重: C2S3 条件跳转无效 (行 178-181)
if yutong_stats["affection"] >= 8 and yutong_stats["attention"] >= 12:
jump C2S3
label C2S3:
问题: if 语句没有 else 分支。条件为 False 时,代码将"掉入"下一行——而下一行正好是 label C2S3:。意味着 无论条件真假,C2S3 都会执行,条件形同虚设。
实际上,Chapter1 结束时 yutong_stats["affection"] = 8, attention = 12(恰好等于阈值),所以当前数据下条件始终为 True。但:
- 如果后续修改 Chapter1 的数值,bug 就会暴露
- 代码意图显然是"条件满足才进入 C2S3"
修复: 添加 else 跳转:
if yutong_stats["affection"] >= 8 and yutong_stats["attention"] >= 12:
jump C2S3
else:
jump C2S4
⚠️ 2. flag["lhy_team"] 和 flag["C2S1_think"] 只写未读
flag["lhy_team"]在行44/48 被设置,但整个代码库中从未读取。如果未来章节需要使用,建议添加注释说明用途。flag["C2S1_think"]同样只设置未使用。
奇怪/不当的对话
🔴 行63: 不当用词
me "训练赛,对手是颜涵和杨天赐。一个音游龙👃,一个不知道是男娘还是男同的玩意儿。"
- emoji
👃在 Ren'Py 中可能无法正确渲染 - "男娘"和"男同"属于对同学不尊重的称呼,与主角"用幽默掩饰不自信"的人设不完全吻合。建议修改为更符合高中生日常表达的方式。
⚠️ 行301: 疑似错别字
yang "我要和仁懿涛——"
"任懿涛"写成了"仁懿涛"。若是刻意设计(体现角色口误),建议加注释;否则应修正。
⚠️ 行326: 注释中的存疑台词
# me "最终事件平息。比赛继续。但我鼻子里残留着韭菜盒子的味道,还有满场的笑声没散。"
这段被注释掉了。如果决定不用,建议直接删除而非保留注释。
清理建议
- 补充 5 个缺失的图像文件(见上方清单)
- 修复 C2S3 条件跳转逻辑(行178-181)
- 修改行63的不当用词
- 确认行301的"仁懿涛"是否为刻意
- 删除行325-326的注释代码
- 为只写未读的 flag 添加注释说明用途,或标记为
# TODO: 第X章使用