# 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) ```renpy 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。但: 1. 如果后续修改 Chapter1 的数值,bug 就会暴露 2. 代码意图显然是"条件满足才进入 C2S3" **修复**: 添加 else 跳转: ```renpy 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: 不当用词 ```renpy me "训练赛,对手是颜涵和杨天赐。一个音游龙👃,一个不知道是男娘还是男同的玩意儿。" ``` - emoji `👃` 在 Ren'Py 中可能无法正确渲染 - "男娘"和"男同"属于对同学不尊重的称呼,与主角"用幽默掩饰不自信"的人设不完全吻合。建议修改为更符合高中生日常表达的方式。 ### ⚠️ 行301: 疑似错别字 ```renpy yang "我要和仁懿涛——" ``` "任懿涛"写成了"仁懿涛"。若是刻意设计(体现角色口误),建议加注释;否则应修正。 ### ⚠️ 行326: 注释中的存疑台词 ```renpy # me "最终事件平息。比赛继续。但我鼻子里残留着韭菜盒子的味道,还有满场的笑声没散。" ``` 这段被注释掉了。如果决定不用,建议直接删除而非保留注释。 --- ## 清理建议 1. **补充 5 个缺失的图像文件**(见上方清单) 2. 修复 C2S3 条件跳转逻辑(行178-181) 3. 修改行63的不当用词 4. 确认行301的"仁懿涛"是否为刻意 5. 删除行325-326的注释代码 6. 为只写未读的 flag 添加注释说明用途,或标记为 `# TODO: 第X章使用`