Add review reports for Chapter 1, Chapter 2, and Chapter 2-Side; include image assets and logic checks
- 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.
@@ -201,16 +201,16 @@ label Chapter1_Scene3:
|
||||
scene bg corridor with dissolve
|
||||
"【同日下午·高二一班走廊】"
|
||||
|
||||
show xiaowei at left with dissolve
|
||||
"同一时间,另一个人也在看那张照片。"
|
||||
tongxue "晓薇你快看!这不是你们一班那个任懿涛吗?他怎么还是这么搞笑!"
|
||||
show xiaowei at right with dissolve
|
||||
xiaowei "拍得好生动啊!你们说,要是我也这样跳起来打人,会不会也这么有效果?"
|
||||
tongxue "哈哈哈哈!"
|
||||
hide xiaowei with dissolve
|
||||
stop music fadeout 1.0
|
||||
|
||||
"{cps=20}她笑着,眼睛却没有离开屏幕。"
|
||||
"{cps=20}那种真实的活力,让她觉得……在礼貌而疏离的文科班里,有什么东西被触动了。"
|
||||
hide xiaowei with dissolve
|
||||
|
||||
#system_ "【切换账号:薇风拂晓】"
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 2.0
|
||||
@@ -387,10 +387,11 @@ label Chapter1_Scene4:
|
||||
scene bg black with fade
|
||||
system_ "【同夜·城市另一头】"
|
||||
|
||||
scene bg yutong room night with dissolve
|
||||
me "城市的另一头,苏雨桐刚回到家。"
|
||||
yutong "TaoliTaoli……今天依然没有更新。"
|
||||
system_ "【任懿涛画廊·访问计数器:+1】"
|
||||
me "她一张张翻看那些照片。相册里已经积累了二十几张,按时间顺序排列。"
|
||||
"她一张张翻看那些照片。相册里已经积累了二十几张,按时间顺序排列。"
|
||||
yutong "……在这个高度秩序化的生活里,观察一个如此不协调、如此鲜活的存在……有种奇妙的慰藉。"
|
||||
|
||||
$ yutong_stats["affection"] += 3
|
||||
@@ -398,6 +399,7 @@ label Chapter1_Scene4:
|
||||
|
||||
pause 0.5
|
||||
system_ "【几公里外·林晓薇的房间】"
|
||||
scene bg xiaowei room night with dissolve
|
||||
me "几公里外,林晓薇躺在床上,盯着天花板发呆。"
|
||||
me_w "你问的那个人,确实是我们学校的。怎么,你认识?"
|
||||
me "那条回复躺在对话框里,她还没想好怎么回。"
|
||||
@@ -423,4 +425,4 @@ label Chapter1_Scene4:
|
||||
pause 1.5
|
||||
system_ "【第一章·画廊风波·完】"
|
||||
|
||||
return
|
||||
jump Chapter2_Scene1
|
||||
|
||||
126
game/Chapters/Chapter2/Chapter2-Side.rpy
Normal file
@@ -0,0 +1,126 @@
|
||||
# Chapter 2: Side Stories
|
||||
# 支线剧情
|
||||
|
||||
label C2Side1:
|
||||
# —— 天台 ——
|
||||
if lhy_stats["affection"] < 11:
|
||||
jump C2S2
|
||||
|
||||
$ game_day = 16
|
||||
$ game_period = "lunch"
|
||||
|
||||
scene bg rooftop with fade
|
||||
system_ "【Day 16·午休·天台】"
|
||||
|
||||
pause 0.5
|
||||
|
||||
show lhy dialogue normal at left with dissolve
|
||||
lhy "任懿涛。能占用你一点时间吗?"
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "小卡主动找我说话?概率大概跟哈雷彗星过境差不多。"
|
||||
|
||||
show lhy dialogue normal at left
|
||||
lhy "关于昨天的邀请。我想确认一下——你是认真的吗?"
|
||||
lhy "我的意思是,我技术不好。KD只有0.6。"
|
||||
|
||||
me "所以呢?"
|
||||
|
||||
lhy "所以……你不怕拖累胜率?"
|
||||
|
||||
me "他表情好平静,感觉不是在谦虚......是在试探什么吗?"
|
||||
|
||||
hide ryt with dissolve
|
||||
hide lhy with dissolve
|
||||
|
||||
menu:
|
||||
"胜率不重要,重要的是有人兜底。":
|
||||
$ lhy_stats["affection"] += 3
|
||||
jump C2Side1S1
|
||||
"怕什么,我可以一打三。":
|
||||
$ lhy_stats["affection"] += 2
|
||||
jump C2Side1S2
|
||||
"你负责战略,我负责送死,公平吧?":
|
||||
$ lhy_stats["affection"] += 1
|
||||
jump C2Side1S3
|
||||
|
||||
label C2Side1S1:
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "胜率不重要,重要的是有人兜底。"
|
||||
|
||||
show lhy dialogue normal at left with dissolve
|
||||
lhy "……"
|
||||
lhy "你总是这样说。好像什么都可以轻描淡写地过去。"
|
||||
|
||||
lhy "其实,我有件事想问你。"
|
||||
lhy "你是怎么做到……想跳起来就跳起来的?"
|
||||
|
||||
me "……啊?"
|
||||
|
||||
lhy "那天在教室里。你跳起来打我的后背。动作很笨拙,角度也不对,落地的时候还踉跄了。"
|
||||
lhy "但你还是跳了。"
|
||||
|
||||
me "跳起来,需要理由吗?"
|
||||
me "小卡难得说这么多话。而且他问这个的时候,语气不像在开玩笑。他在认真地问一个我从来没想过的问题......"
|
||||
|
||||
tongxue "你们两个在屋顶搞什么?偷情啊?"
|
||||
|
||||
show ryt dialogue embarrass pocket at right with dissolve
|
||||
lhy "……"
|
||||
me "……"
|
||||
|
||||
lhy "走吧。该回去上课了。"
|
||||
lhy "对了,比赛那天……我会准备好的。"
|
||||
|
||||
$ flag["C4"] = 1
|
||||
$ flag["competition_note"] = True
|
||||
$ lhy_stats["trust"] += 2
|
||||
$ tao_stats["humorSense"] += 1
|
||||
$ lhy_stats["empathy"] += 1
|
||||
|
||||
jump C2S2
|
||||
|
||||
label C2Side1S2:
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "怕什么,我可以一打三。"
|
||||
|
||||
show lhy dialogue normal at left with dissolve
|
||||
lhy "你的自信心从何而来我一直很好奇。但这确实有一定作用。"
|
||||
me "行行行,你说得对。但我就是自信,天生的。"
|
||||
#me "你妈死了刘泓予!"
|
||||
|
||||
tongxue "你们两个在屋顶搞什么?偷情啊?"
|
||||
|
||||
show ryt dialogue embarrass pocket2 at right with dissolve
|
||||
lhy "……"
|
||||
me "……"
|
||||
|
||||
lhy "走吧。该回去上课了。"
|
||||
lhy "对了,比赛那天……我会准备好的。"
|
||||
|
||||
$ lhy_stats["trust"] += 1
|
||||
$ tao_stats["humorSense"] += 1
|
||||
$ lhy_stats["empathy"] += 1
|
||||
|
||||
jump C2S2
|
||||
|
||||
label C2Side1S3:
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "你负责战略,我负责送死,公平吧?"
|
||||
|
||||
show lhy dialogue normal at left with dissolve
|
||||
lhy "战术性牺牲确实是一种可行的策略。但我的意思是……算了。"
|
||||
|
||||
tongxue "你们两个在屋顶搞什么?偷情啊?"
|
||||
|
||||
show ryt dialogue embarrass pocket at right with dissolve
|
||||
lhy "……"
|
||||
me "……"
|
||||
|
||||
lhy "走吧。该回去上课了。"
|
||||
lhy "对了,比赛那天……我会准备好的。"
|
||||
|
||||
$ tao_stats["humorSense"] += 1
|
||||
$ lhy_stats["empathy"] += 1
|
||||
|
||||
jump C2S2
|
||||
439
game/Chapters/Chapter2/Chapter2.rpy
Normal file
@@ -0,0 +1,439 @@
|
||||
# Chapter 2: 游戏内外
|
||||
define zhuchi = Character("主持人", color="#3c3fff", what_slow_cps=19, who_outlines=[(1, "#404040", 0, 0)])
|
||||
define yang = Character("杨义涵", color="#ff3c3c", what_slow_cps=19, who_outlines=[(1, "#404040", 0, 0)])
|
||||
|
||||
label Chapter2_Scene1:
|
||||
$ game_day = 15
|
||||
$ game_period = "afternoon"
|
||||
|
||||
scene bg classroom wide afterschool with fade
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 2.0
|
||||
system_ "【Day 15·下午·七班教室】"
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "十一月的风从窗缝钻进来,带走了夏末最后的余热。我盯着手机屏幕上的推送——《四角州行动》校内赛,下周六。"
|
||||
me "从重点班跌到现在,好像已经很久了。但在游戏里,段位还是那个段位。至少这个,还没跌。"
|
||||
hide ryt with dissolve
|
||||
|
||||
show xingyu at left with dissolve
|
||||
xingyu "涛哥!看公告没?校内赛!电竞社这次玩真的,冠军有机械键盘和——重点班旁听一周体验券!"
|
||||
hide xingyu with dissolve
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "……最后那个,是什么鬼奖励。"
|
||||
hide ryt with dissolve
|
||||
|
||||
show lhy dialogue normal at left with dissolve
|
||||
lhy "从概率学角度,我们组队胜率取决于三个变量:枪法、战术配合、以及对手里有几个挂。"
|
||||
|
||||
show xingyu at right with dissolve
|
||||
xingyu "小卡你也会玩?"
|
||||
hide xingyu with dissolve
|
||||
|
||||
show lhy dialogue normal at left
|
||||
lhy "不怎么会。但我可以学。"
|
||||
hide lhy with dissolve
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "他这说话的表情,跟宣布今天要交数学作业时的一模一样。真是做啥事都认真。"
|
||||
me "我要邀请他吗?"
|
||||
|
||||
menu:
|
||||
"邀请刘泓予":
|
||||
$ lhy_stats["affection"] += 5
|
||||
$ flag["lhy_team"] = True
|
||||
jump C2Side1
|
||||
"只找个游戏高手":
|
||||
$ xingyu_stats["affection"] -= 5
|
||||
$ flag["lhy_team"] = False
|
||||
jump C2S2
|
||||
"还没想好":
|
||||
$ flag["C2S1_think"] = False
|
||||
jump C2S2
|
||||
|
||||
label C2S2:
|
||||
$ game_day = 18
|
||||
$ game_period = "after_school"
|
||||
|
||||
scene bg computer lab with fade
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 2.0
|
||||
system_ "【Day 18·放学后·机房】"
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "训练赛,对手是颜涵和杨天赐。一个音游龙👃,一个不知道是男娘还是男同的玩意儿。胜率计算器直接报错。"
|
||||
hide ryt with dissolve
|
||||
|
||||
show yh camerabag at left with dissolve
|
||||
yh "任懿涛。"
|
||||
yh "你是主突击位?"
|
||||
hide yh with dissolve
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "嗯,习惯了。"
|
||||
hide ryt with dissolve
|
||||
|
||||
show yh camerabag at left with dissolve
|
||||
yh "那我针对你。"
|
||||
hide yh with dissolve
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "为啥?"
|
||||
hide ryt with dissolve
|
||||
|
||||
show yh camerabag at left with dissolve
|
||||
yh "练习赛的意义就在于此。找到弱点。"
|
||||
yh "除非……你怕我?"
|
||||
# yh笑的立绘
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "他怎么又笑了!好瘆人……我好像更紧张了。"
|
||||
me "不过我才不会怕他呢"
|
||||
me "来啊。谁怕谁。"
|
||||
hide ryt with dissolve
|
||||
hide yh with dissolve
|
||||
|
||||
stop music fadeout 1.0
|
||||
pause 1.0
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 2.0
|
||||
|
||||
system_ "【练习赛结束·2:2平】"
|
||||
|
||||
show yh camerabag at left with dissolve
|
||||
yh "手速很快。但你的移动轨迹有pattern。每三次变向就有一次习惯性右偏。"
|
||||
hide yh with dissolve
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "……你连这个都记?"
|
||||
hide ryt with dissolve
|
||||
|
||||
show yh camerabag at left with dissolve
|
||||
yh "习惯了。音游打多了,眼睛会自动追踪移动目标。"
|
||||
yh "对了。"
|
||||
yh "下周嘉年华筹备开始了。摄影社要做“莘澜面孔”影展。"
|
||||
yh "你会出镜的。"
|
||||
hide yh with dissolve
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "……凭什么?"
|
||||
hide ryt with dissolve
|
||||
|
||||
show yh camerabag at left with dissolve
|
||||
yh "因为我会拍你。"
|
||||
yh "无论你同意与否。"
|
||||
hide yh with dissolve
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "他怎么刚说完就走。语气跟高一那回说”你今天发型更丑了“一模一样——不像威胁,倒是像通知。"
|
||||
hide ryt with dissolve
|
||||
|
||||
# —— 机房门口 ——
|
||||
scene bg computer lab door with dissolve
|
||||
pause 0.5
|
||||
|
||||
show xiaowei at right with dissolve
|
||||
me "林晓薇?你怎么在这?"
|
||||
|
||||
xiaowei "欸——是不是打扰到你们了?"
|
||||
|
||||
me "林晓薇......她怎么会出现在机房门口?这栋楼离文科班教室隔了一个操场。"
|
||||
|
||||
show xiaowei embarrass at right with dissolve
|
||||
xiaowei "我、我是来还机房钥匙的!正好路过!"
|
||||
me "她耳朵红了。高一我就发现了,她说谎的时候先红耳朵。"
|
||||
|
||||
show xiaowei at right with dissolve
|
||||
xiaowei "那、那个……比赛加油!我会去旁观的!"
|
||||
me "旁观?"
|
||||
xiaowei "啊不不是那个意思——就是——呃——友好支持!"
|
||||
hide xiaowei with dissolve
|
||||
|
||||
me "她转身就跑。背影消失在楼梯拐角。"
|
||||
|
||||
pause 0.5
|
||||
me "手机响了。"
|
||||
|
||||
scene bg classroom phone closeup with dissolve
|
||||
system_ "【游戏内私聊】薇风拂晓:在吗?"
|
||||
|
||||
me "又是她。每次都在我刚上线的时间出现。太巧了。"
|
||||
|
||||
xiaowei_w "下周比赛,你会参加对吧?"
|
||||
me_w "你怎么知道?"
|
||||
xiaowei_w "……猜的。你游戏ID不是'逍遥剑客'吗,电竞社报名名单上有。"
|
||||
me_w "你还看报名名单?"
|
||||
xiaowei_w "随便看看!"
|
||||
xiaowei_w "那……比赛见。"
|
||||
me_w "等等,你到底哪个学校的?"
|
||||
|
||||
system_ "【对方已离线】"
|
||||
|
||||
me "又跑了。每次问到这个问题就消失。"
|
||||
me "但奇怪的是……我好像并没有很想知道答案。就这么聊着,也挺好。"
|
||||
|
||||
$ xiaowei_stats["affection"] += 3
|
||||
$ xiaowei_stats["interactionFrequency"] += 2
|
||||
$ yh_stats["affection"] += 2
|
||||
$ yh_stats["understanding"] += 2
|
||||
|
||||
if yutong_stats["affection"] >= 8 and yutong_stats["attention"] >= 12: # 仅为符合格式规范,此jump必定执行
|
||||
jump C2S3
|
||||
|
||||
label C2S3:
|
||||
$ game_day = 20
|
||||
$ game_period = "afternoon"
|
||||
|
||||
scene bg playground with fade
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 2.0
|
||||
system_ "【Day 20·下午·操场旁】"
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "赛前最后一次训练。机房里设备嗡嗡响。"
|
||||
me "诶?门口什么时候站着个人。"
|
||||
hide ryt with dissolve
|
||||
|
||||
show yutong at left with dissolve
|
||||
yutong "学习部检查。"
|
||||
yutong "学生会接到投诉,说电竞社训练影响晚自习秩序。"
|
||||
|
||||
me "是苏雨桐。语气跟开会时一模一样。但她的眼睛在看我手机屏幕,不是看我。"
|
||||
|
||||
me "我们只是利用课余时间——"
|
||||
|
||||
yutong "《四角州行动》,是吗?"
|
||||
|
||||
me "……你怎么知道游戏名?"
|
||||
|
||||
yutong "资料调查。"
|
||||
yutong "……"
|
||||
yutong "手速确实很快。"
|
||||
|
||||
me "她说这句话的时候,声音比刚才轻。然后推了推眼镜,像在掩饰什么。"
|
||||
|
||||
yutong "但要小心重复性劳损。腕关节每天最好不要超过两万次点击。"
|
||||
|
||||
me "……你在关心我?"
|
||||
|
||||
yutong "这是学习部对参赛同学的健康提示。"
|
||||
yutong "另外……"
|
||||
yutong "重点班旁听体验券,是真的。"
|
||||
yutong "如果你想的话。"
|
||||
|
||||
me "她转身走了。跟高一一样,走路很快,从不回头看。"
|
||||
me "但这句'如果你想的话'——她是在传达一个信息,还是在问一个问题?我分不清。"
|
||||
|
||||
$ yutong_stats["affection"] += 2
|
||||
$ yutong_stats["attention"] += 2
|
||||
|
||||
jump C2S4
|
||||
|
||||
label C2S4:
|
||||
$ game_day = 22
|
||||
$ game_period = "afternoon"
|
||||
|
||||
scene bg auditorium with fade
|
||||
play music "audio/XinLanDiary-Part2.ogg" fadein 2.0
|
||||
system_ "【Day 22·周六·报告厅·电竞社校内赛】"
|
||||
|
||||
if flag.get("competition_note"):
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "人比想象的多多了!后排都站满了。陈星宇在调试设备,刘泓予戴着耳机,腿上摊着笔记本。他真的记了笔记。"
|
||||
hide ryt with dissolve
|
||||
else:
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "人比想象的多多了!后排都站满了。陈星宇在调试设备,颜涵拿着他的D850相机。"
|
||||
hide ryt with dissolve
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "而我在找一个人。'薇风拂晓'说'比赛见'。如果她真的是本校的——"
|
||||
|
||||
zhuchi "下面请最后一支签到队伍,'七星文学部'——呃,七班的队伍!"
|
||||
|
||||
show xingyu at left with dissolve
|
||||
xingyu "走了涛哥!上场!"
|
||||
hide xingyu with dissolve
|
||||
hide ryt with dissolve
|
||||
|
||||
pause 1.0
|
||||
system_ "【第一轮】胜"
|
||||
pause 0.5
|
||||
system_ "【第二轮】胜"
|
||||
pause 0.5
|
||||
system_ "【第三轮】平局"
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "手酸。苏雨桐说的两万次点击,可能快到了。"
|
||||
me "但更重要的是——观众席上,林晓薇正举着手机。目光对上的时候,她没有躲。她笑了,虎牙露出来。"
|
||||
hide ryt with dissolve
|
||||
|
||||
scene bg classroom phone closeup with dissolve
|
||||
xiaowei_w "打得不错。"
|
||||
me_w "你在现场?"
|
||||
xiaowei_w "嗯。"
|
||||
me_w "哪里?"
|
||||
xiaowei_w "你猜。"
|
||||
|
||||
scene bg auditorium with dissolve
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "我抬头扫了一圈。后排靠左,她戴着耳机,低头看手机。像是感应到什么,她忽然抬头——虎牙。"
|
||||
me "高一的时候,每次我讲完笑话,她都是第一个笑的那个。"
|
||||
hide ryt with dissolve
|
||||
|
||||
$ xiaowei_stats["affection"] += 3
|
||||
$ xiaowei_stats["interactionFrequency"] += 2
|
||||
$ xiaowei_stats["is_xiaowei_w"] = True
|
||||
|
||||
jump C2S5
|
||||
|
||||
label C2S5:
|
||||
# ###### CG ######
|
||||
scene bg auditorium with dissolve
|
||||
|
||||
zhuchi "那么,决赛即将开始——"
|
||||
|
||||
yang "等一下!"
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "不好,是杨义涵!"
|
||||
hide ryt with dissolve
|
||||
|
||||
yang "我有话要说!"
|
||||
yang "我要和任懿涛——"
|
||||
yang "生下一对冠军宝宝!!!"
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "他张开双臂。全场爆笑。主持人手里的麦克风差点掉了。刘泓予——刘泓予低着头,肩膀在抖。"
|
||||
me "连他都在笑。"
|
||||
hide ryt with dissolve
|
||||
|
||||
menu:
|
||||
"……哈?":
|
||||
# depseek认为:事后杨义涵会主动找任懿涛聊天,触发关于"为什么要做夸张的事"的对话
|
||||
# (任懿涛发现杨义涵也有类似"用夸张掩饰什么"的一面)
|
||||
jump C2S5_end
|
||||
"你先找好对象再说。":
|
||||
$ yh_stats["affection"] += 1
|
||||
# ds说:杨义涵赛后会在群里发"任懿涛1:0我",两人关系定位变成"损友"
|
||||
jump C2S5_end
|
||||
"推开他继续比赛":
|
||||
$ lhy_stats["affection"] += 1
|
||||
# 林晓薇在台下会小声说"好无情啊"然后偷笑
|
||||
jump C2S5_end
|
||||
|
||||
label C2S5_end:
|
||||
# ###### CG ######
|
||||
# 存疑台词:
|
||||
# me "最终事件平息。比赛继续。但我鼻子里残留着韭菜盒子的味道,还有满场的笑声没散。"
|
||||
# me "这就是我的高二——不是在被人拍,就是在被人抱。"
|
||||
|
||||
system_ "【决赛结果·七星文学部 2:1 获胜】"
|
||||
|
||||
$ tao_stats["humorSense"] += 2
|
||||
|
||||
jump C2S6
|
||||
|
||||
label C2S6:
|
||||
$ game_period = "evening"
|
||||
|
||||
scene bg schoolgate evening with fade
|
||||
play music "audio/XinLanDiary-Part2.ogg" fadein 2.0
|
||||
system_ "【赛后·傍晚·校门口】"
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "散场的时候,我故意走慢了一点。陈星宇说去庆祝,刘泓予说有事,也走了。"
|
||||
me "我在等一个人。"
|
||||
hide ryt with dissolve
|
||||
|
||||
show xiaowei at left with dissolve
|
||||
xiaowei "那个……"
|
||||
|
||||
me "路灯下面,她的短发被风吹得有点乱。"
|
||||
|
||||
me "你来了。"
|
||||
|
||||
xiaowei "恭喜你。冠军。"
|
||||
xiaowei "我说了会旁观的嘛。"
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "我举起手机。屏幕上,是'薇风拂晓'的对话框。"
|
||||
me "但我问的不是比赛。"
|
||||
hide ryt with dissolve
|
||||
|
||||
xiaowei "……"
|
||||
xiaowei "我就知道瞒不过你。"
|
||||
|
||||
hide xiaowei with dissolve
|
||||
|
||||
menu:
|
||||
"所以游戏里的配合,都是演的?":
|
||||
$ xiaowei_stats["affection"] += 1
|
||||
show xiaowei at left with dissolve
|
||||
xiaowei "不是演的!我真的觉得我们配合很好——啊不对,我不是那个意思——"
|
||||
"怎么不早说?":
|
||||
$ xiaowei_stats["affection"] += 2
|
||||
show xiaowei at left with dissolve
|
||||
xiaowei "因为怕你觉得奇怪……高一之后就分班了,突然游戏里相认什么的……"
|
||||
"……下次排位带带我?":
|
||||
$ xiaowei_stats["affection"] += 3
|
||||
show xiaowei at left with dissolve
|
||||
xiaowei "……欸?{cps=2}啊、好!{cps=20}不对,你段位比我高!"
|
||||
|
||||
# 立绘:她低头绞着背包带子
|
||||
show xiaowei at left with dissolve
|
||||
xiaowei "总之……对不起?瞒了你这么久。"
|
||||
hide xiaowei with dissolve
|
||||
|
||||
me "高一那个课间,她也是这样低头翻笔记,然后抬头说'你刚才那个笑话再讲一遍'。"
|
||||
|
||||
me "没什么好道歉的。"
|
||||
me "只是下次要说实话。"
|
||||
me "在游戏里——如果有下次配合的话。"
|
||||
|
||||
show xiaowei at left with dissolve
|
||||
xiaowei "……欸?" # 懵,略微疑惑,少许惊喜
|
||||
xiaowei "一定!" # 笑
|
||||
hide xiaowei with dissolve
|
||||
|
||||
me "她笑了。虎牙露出来。跟高一那个课间一样的笑。"
|
||||
|
||||
$ xiaowei_stats["synergy"] += 3
|
||||
$ xiaowei_stats["interactionFrequency"] += 2
|
||||
|
||||
jump C2S7
|
||||
|
||||
label C2S7:
|
||||
$ game_period = "night"
|
||||
|
||||
scene bg ryt room night with fade
|
||||
stop music fadeout 1.0
|
||||
play music "audio/XinLanDiary-Part2.ogg" fadein 2.0
|
||||
system_ "【同夜·家中】"
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "躺在床上,盯着天花板。今天发生了太多事——冠军、拥抱、她身份的揭晓。"
|
||||
me "手机亮了。"
|
||||
hide ryt with dissolve
|
||||
|
||||
yutong "《四角州行动》概率计算题,我出在了学习部的下周挑战里。如果你有兴趣的话。"
|
||||
|
||||
me "她怎么有我的联系方式。"
|
||||
me "不对,她是学习部部长,找谁的联系方式都行。但为什么专门发给我?"
|
||||
me "概率计算题。用游戏出题。跟上次嘉年华数学摊位那个一样——她知道我会感兴趣。"
|
||||
|
||||
system_ "【画廊更新】电竞时刻:手速与反应速度的实证研究。"
|
||||
|
||||
me "果然。李泽瑄不会放过任何素材。"
|
||||
me "但照片里——不止我一个人。陈星宇在画面边缘大笑,刘泓予低头记笔记,林晓薇在观众席举起手机。还有角落里,苏雨桐抱着笔记本,假装在看别的地方。"
|
||||
me "原来被拍下来的时候,我一直不是一个人。"
|
||||
me "窗外,十一月的夜空很干净。高一的时候我从没注意过这些。现在我开始观察。"
|
||||
|
||||
$ yutong_stats["affection"] += 2
|
||||
$ yutong_stats["attention"] += 2
|
||||
$ lzx_stats["infoOpenness"] += 1
|
||||
$ tao_stats["selfAcceptance"] += 2
|
||||
|
||||
pause 1.0
|
||||
scene bg black with fade
|
||||
pause 1.5
|
||||
system_ "【第二章·游戏内外·完】"
|
||||
|
||||
return
|
||||
BIN
game/images/backup/bg auditorium_v1.png
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
game/images/backup/bg auditorium_v2.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
game/images/backup/bg auditorium_v3.png
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
game/images/backup/bg auditorium_v4.png
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
game/images/backup/bg auditorium_v5.png
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
game/images/backup/bg auditorium_v6.png
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
game/images/bg auditorium.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 3.2 MiB |
BIN
game/images/bg rooftop.png
Normal file
|
After Width: | Height: | Size: 2.7 MiB |
BIN
game/images/bg xiaowei room night.png
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
game/images/bg yutong room night.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
game/images/xiaowei embarrass.png
Normal file
|
After Width: | Height: | Size: 438 KiB |
BIN
game/images/xiaowei.png
Normal file
|
After Width: | Height: | Size: 403 KiB |
BIN
game/images/xiaowei.png.bak.v1
Normal file
|
After Width: | Height: | Size: 5.5 MiB |
@@ -1,4 +1,4 @@
|
||||
# 游戏的脚本可置于此文件中。
|
||||
# 游戏的脚本可置于此文件中。
|
||||
|
||||
# 声明此游戏使用的角色。颜色参数可使角色姓名着色。
|
||||
define me = Character("任懿涛", color="#71b4e4", what_slow_cps=19, who_outlines=[(1, "#565656", 0, 0)])
|
||||
@@ -72,6 +72,10 @@ default lzx_stats = {
|
||||
"infoOpenness": 0, # 信息开放度
|
||||
}
|
||||
|
||||
# ====== 其他全局变量 ======
|
||||
default flag = {
|
||||
}
|
||||
|
||||
# ====== 时间系统变量 ======
|
||||
default game_day = 1 # 游戏内日期(第几天)
|
||||
default game_period = "morning"
|
||||
|
||||
BIN
game/xiaowei.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
131
review/Chapter1-review.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# Chapter1.rpy 审阅报告
|
||||
|
||||
## 文件信息
|
||||
- 文件路径: `game/Chapters/Chapter1.rpy`
|
||||
- 行数: 429
|
||||
- 包含场景: Chapter1_Scene1 ~ Chapter1_Scene4
|
||||
- 跳转终点: Chapter2_Scene1(位于 Chapter2.rpy)
|
||||
|
||||
---
|
||||
|
||||
## 语法错误
|
||||
|
||||
**无严重语法错误**。Ren'Py 基本语法正常,`scene`/`show`/`hide`/`jump` 语句格式正确,`$` Python 赋值语句语法正常。
|
||||
|
||||
---
|
||||
|
||||
## 角色定义检查
|
||||
|
||||
| 角色 | 定义位置 | 使用情况 | 状态 |
|
||||
|------|----------|----------|------|
|
||||
| `me` | script.rpy:4 | 正常 | ✓ |
|
||||
| `system_` | script.rpy:11 | 正常 | ✓ |
|
||||
| `xingyu` | script.rpy:5 | 正常 | ✓ |
|
||||
| `lhy` | script.rpy:6 | 正常 | ✓ |
|
||||
| `lzx` | script.rpy:7 | 仅旁白引用,未使用 Character 发言 | ✓ |
|
||||
| `tongxue` | script.rpy:16 | 正常 | ✓ |
|
||||
| `yutong` | script.rpy:13 | 正常 | ✓ |
|
||||
| `ganshi` | script.rpy:17 | 正常 | ✓ |
|
||||
| `xiaowei` | script.rpy:9 | 正常 | ✓ |
|
||||
| `xiaowei_w` | script.rpy:10 | 正常 | ✓ |
|
||||
| `me_w` | script.rpy:15 | 正常 | ✓ |
|
||||
| `mom` | script.rpy:12 | 正常 | ✓ |
|
||||
| `yh` | script.rpy:14 | 正常 | ✓ |
|
||||
| `"便利店主"` | 行343(字符串字面量) | ⚠️ 见下方说明 | ✓ |
|
||||
|
||||
### 关于"便利店主"角色(行 343)
|
||||
|
||||
```renpy
|
||||
"便利店主" "小任,新品。尝尝,你们年轻人喜欢这个。"
|
||||
```
|
||||
|
||||
此角色未在 script.rpy 中定义为 Character 对象,使用了内联字符串作为说话人。Ren'Py **允许**此写法,会自动生成临时角色。但建议统一在 script.rpy 中定义,便于管理颜色、语速等属性。
|
||||
|
||||
---
|
||||
|
||||
## 图像引用检查
|
||||
|
||||
所有 `show` 命令引用的图像均在 `game/images/` 目录中找到对应文件:
|
||||
|
||||
| 引用 | 文件 |
|
||||
|------|------|
|
||||
| `aunt normal` | `aunt normal.png` ✓ |
|
||||
| `xingyu thinking/laughing/laughing big/laughing 2` | 对应 png 均存在 ✓ |
|
||||
| `ryt dialogue normal/hit/embarrass pocket/embarrass pocket2/normal spec` | 对应 png 均存在 ✓ |
|
||||
| `lhy dialogue normal` | `lhy dialogue normal.png` ✓ |
|
||||
| `yh camerabag` | `yh camerabag.png` ✓ |
|
||||
| `xiaowei` / `xiaowei embarrass` | 对应 png 均存在 ✓ |
|
||||
|
||||
所有背景图像文件均存在 ✓
|
||||
|
||||
---
|
||||
|
||||
## Flag 和变量检查
|
||||
|
||||
### 统计变量修改
|
||||
|
||||
| 变量 | 修改位置 | 累计修改值 |
|
||||
|------|----------|-----------|
|
||||
| `lhy_stats["affection"]` | 行85, 153, 323 | +3, +5, +3 = **+11** |
|
||||
| `lhy_stats["trust"]` | 行86, 154 | +2, +5 = **+7** |
|
||||
| `lhy_stats["empathy"]` | 行155 | **+3** |
|
||||
| `xingyu_stats["affection"]` | 行87, 320 | +3, +5 = **+8** |
|
||||
| `xingyu_stats["cooperation"]` | 行88, 321 | +2, +5 = **+7** |
|
||||
| `xingyu_stats["helpfulness"]` | 行322 | **+3** |
|
||||
| `tao_stats["humorSense"]` | 行89 | **+2** |
|
||||
| `tao_stats["selfAcceptance"]` | 行156, 326, 380 | +1, +2, +1 = **+4** |
|
||||
| `tao_stats["studyStress"]` | 行157, 381 | +2, +1 = **+3** |
|
||||
| `lzx_stats["infoOpenness"]` | 行90 | **+1** |
|
||||
| `yutong_stats["affection"]` | 行193, 378, 397 | +3, +2, +3 = **+8** |
|
||||
| `yutong_stats["attention"]` | 行194, 379, 398 | +5, +3, +4 = **+12** |
|
||||
| `yutong_stats["h_academicSupport"]` | 行195 | **+1** |
|
||||
| `xiaowei_stats["affection"]` | 行233, 412 | +4, +3 = **+7** |
|
||||
| `xiaowei_stats["interactionFrequency"]` | 行234, 413 | +2, +3 = **+5** |
|
||||
| `xiaowei_stats["is_xiaowei_w"]` | 行235 | 设为 False |
|
||||
| `yh_stats["affection"]` | 行324 | **+3** |
|
||||
| `yh_stats["understanding"]` | 行325 | **+2** |
|
||||
|
||||
所有修改的 stat key 均在 script.rpy 中定义 ✓
|
||||
|
||||
### 其他变量
|
||||
|
||||
- `gallery_photo4_unlocked = True` (行73): 定义在 script.rpy:90 ✓
|
||||
- `game_day` / `game_period`: 正常赋值 ✓
|
||||
|
||||
---
|
||||
|
||||
## 逻辑错误
|
||||
|
||||
### ⚠️ 1. `hide ryt` 冗余调用(行 128)
|
||||
|
||||
```renpy
|
||||
# 行125: #show ryt hit at center with dissolve ← 已被注释
|
||||
# 行126: scene bg playground with dissolve ← scene 清空所有图像
|
||||
# 行127: me "深吸一口气..." ← me 无 sprite 也能说话
|
||||
# 行128: hide ryt with dissolve ← ryt 已不存在,无操作
|
||||
```
|
||||
|
||||
`show ryt` 已被注释,且 `scene` 语句已清空场景,`hide ryt` 为无效操作。不会导致运行时错误,但可删除。
|
||||
|
||||
### ⚠️ 2. `$ xiaowei_stats["is_xiaowei_w"] = False` 冗余(行 235)
|
||||
|
||||
`is_xiaowei_w` 默认值已为 `False`(script.rpy:46),此处重新赋值无实际效果。虽不致命,但如果意图是"在特定剧情点重置该 flag",应确认逻辑正确性。
|
||||
|
||||
---
|
||||
|
||||
## 奇怪/不当的对话
|
||||
|
||||
### 无明显问题
|
||||
Chapter1 的对话整体符合角色设定,叙事流畅,不存在明显不当内容。
|
||||
|
||||
### 小建议
|
||||
- 行58: `me "你们先打,下次我一定来 {cps=3} {cps=20}——前提是我妈能接受她儿子在篮球场上挥洒青春而不是在车里背单词。"` 中 `{cps=3}` 后跟空格再 `{cps=20}`,在空格处会以 cps=20 显示,即瞬间且无声停顿后正常语速。符合预期停顿效果。
|
||||
|
||||
---
|
||||
|
||||
## 清理建议
|
||||
|
||||
1. 删除无效注释行(如行61 的 `#stop music fadeout 1.0`、行125 的 `#show ryt hit...` 等)
|
||||
2. 删除元数据注释(行71, 78, 165, 177, 182, 218, 243 中的 `.lzx` 标注属于作者审阅标记,不应留在正式脚本中)
|
||||
3. 将 `"便利店主"` 统一定义为 Character 对象
|
||||
4. 删除行128 的冗余 `hide ryt`
|
||||
110
review/Chapter2-Side-review.md
Normal file
@@ -0,0 +1,110 @@
|
||||
# Chapter2-Side.rpy 审阅报告
|
||||
|
||||
## 文件信息
|
||||
- 文件路径: `game/Chapters/Chapter2/Chapter2-Side.rpy`
|
||||
- 行数: 126
|
||||
- 包含场景: C2Side1, C2Side1S1, C2Side1S2, C2Side1S3
|
||||
- 入口: 仅从 Chapter2_Scene1 菜单"邀请刘泓予"跳入
|
||||
|
||||
---
|
||||
|
||||
## 语法错误
|
||||
|
||||
**无语法错误**。
|
||||
|
||||
---
|
||||
|
||||
## 角色定义检查
|
||||
|
||||
| 角色 | 定义位置 | 使用情况 | 状态 |
|
||||
|------|----------|----------|------|
|
||||
| `me` | script.rpy:4 | 正常 | ✓ |
|
||||
| `lhy` | script.rpy:6 | 正常 | ✓ |
|
||||
| `tongxue` | script.rpy:16 | 正常 | ✓ |
|
||||
|
||||
---
|
||||
|
||||
## 图像引用检查
|
||||
|
||||
- `bg rooftop`: `bg rooftop.png` 存在(untracked)✓
|
||||
- `lhy dialogue normal`: 存在 ✓
|
||||
- `ryt dialogue normal` / `ryt dialogue embarrass pocket` / `ryt dialogue embarrass pocket2`: 存在 ✓
|
||||
|
||||
---
|
||||
|
||||
## Flag 和变量检查
|
||||
|
||||
| 变量/Flag | 设置位置 | 值 | 读取位置 |
|
||||
|-----------|----------|-----|----------|
|
||||
| `flag["C4"]` | 行75 | 1 | **未读取** |
|
||||
| `flag["competition_note"]` | 行75 | True | Chapter2.rpy:237 |
|
||||
| `lhy_stats["trust"]` | 行77, 100 | +2 / +1 | — |
|
||||
| `lhy_stats["empathy"]` | 行79, 101, 123 | +1 each | — |
|
||||
| `tao_stats["humorSense"]` | 行78, 101, 122 | +1 each | — |
|
||||
| `lhy_stats["affection"]` | 行38, 41, 44 | +3/+2/+1 (按选择) | — |
|
||||
|
||||
### 未使用的 Flag
|
||||
`flag["C4"]` (行75): 在 C2Side1S1 分支中设为 1,但代码库中未读取。推测为第4章的预留 flag,建议加注释说明。
|
||||
|
||||
---
|
||||
|
||||
## 逻辑错误
|
||||
|
||||
### 🔴 严重: `return` 导致游戏直接结束 (行 6-7)
|
||||
|
||||
```renpy
|
||||
label C2Side1:
|
||||
if lhy_stats["affection"] < 11:
|
||||
return
|
||||
```
|
||||
|
||||
**问题**: 进入 C2Side1 的方式是通过 `jump C2Side1`(Chapter2.rpy:45),没有 `call` 调用栈。当 `return` 被执行时,Ren'Py 会**返回主菜单**,而非继续游戏。
|
||||
|
||||
**触发条件**: `lhy_stats["affection"] < 11`。实际上 Chapter1 结束时 lhy affection = 11(3+5+3),加上 Chapter2_Scene1 选择"邀请刘泓予"后 +5 = 16,所以当前数据下该条件永远为 False。但:
|
||||
- 若有其他路径进入 C2Side1 且 affection 不足,游戏会异常退出
|
||||
- 代码意图是"好感度不够时跳过支线"
|
||||
|
||||
**修复**:
|
||||
```renpy
|
||||
if lhy_stats["affection"] < 11:
|
||||
jump C2S2
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 奇怪/不当的对话
|
||||
|
||||
### 🔴 严重: 行89 — 极度不当的辱骂
|
||||
|
||||
```renpy
|
||||
me "你妈死了刘泓予!"
|
||||
```
|
||||
|
||||
这是 C2Side1S2(选择"怕什么,我可以一打三")分支中的主角台词。上下文:
|
||||
|
||||
```
|
||||
lhy "你的自信心从何而来我一直很好奇。但这确实有一定作用。"
|
||||
me "你妈死了刘泓予!" ← 突兀的辱骂
|
||||
```
|
||||
|
||||
**问题严重**:
|
||||
1. 与前后文**完全脱节**——刘泓予刚说完一句中性偏正面的话,主角毫无理由地突然辱骂
|
||||
2. 与主角**人设严重冲突**——任懿涛是使用幽默应对压力的高中生,不是毫无理由口出恶言的人
|
||||
3. 在校园题材视觉小说中加入此类粗口极为不协调
|
||||
|
||||
**建议**: 立刻替换为符合角色性格的台词。例如:
|
||||
```renpy
|
||||
me "你说话怎么跟我妈似的..."
|
||||
```
|
||||
或:
|
||||
```renpy
|
||||
me "行行行,你说得对。但我就是自信,天生的。"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 清理建议
|
||||
|
||||
1. **立即修改行89的辱骂台词**(最高优先级)
|
||||
2. 修复行7的 `return` → `jump C2S2`
|
||||
3. 为 `flag["C4"]` 添加用途注释
|
||||
160
review/Chapter2-review.md
Normal file
@@ -0,0 +1,160 @@
|
||||
# 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章使用`
|
||||
59
review/SUMMARY.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# 审阅总览
|
||||
|
||||
> 审阅日期: 2026-04-26 | 项目版本: dev0.0.8.5
|
||||
|
||||
## 审阅范围
|
||||
|
||||
| 文件 | 行数 | 场景数 | 报告 |
|
||||
|------|------|--------|------|
|
||||
| `game/Chapters/Chapter1.rpy` | 429 | 4 (Scene1~4) | [Chapter1-review.md](Chapter1-review.md) |
|
||||
| `game/Chapters/Chapter2/Chapter2.rpy` | 440 | 7 (Scene1, C2S2~S7) | [Chapter2-review.md](Chapter2-review.md) |
|
||||
| `game/Chapters/Chapter2/Chapter2-Side.rpy` | 126 | 4 (C2Side1, S1~S3) | [Chapter2-Side-review.md](Chapter2-Side-review.md) |
|
||||
|
||||
---
|
||||
|
||||
## 问题汇总(按严重程度排序)
|
||||
|
||||
### 🔴 严重 — 必须修复
|
||||
|
||||
| # | 文件 | 位置 | 问题 |
|
||||
|---|------|------|------|
|
||||
| 1 | Chapter2-Side.rpy | 行89 | **极度不当台词**:`me "你妈死了刘泓予!"` — 突兀辱骂,与角色人设完全不符 |
|
||||
| 2 | Chapter2-Side.rpy | 行7 | **`return` 导致游戏退出**:好感不足时应 `jump C2S2` 而非 `return` |
|
||||
| 3 | Chapter2.rpy | 行178-181 | **C2S3 条件跳转无效**:缺少 `else`,条件形同虚设 |
|
||||
| 4 | Chapter2.rpy | — | **5 个图像文件缺失**:`bg computer lab`, `bg computer lab door`, `yutong` (sprite), `bg schoolgate evening`, `bg ryt room night` |
|
||||
|
||||
### ⚠️ 警告 — 建议修复
|
||||
|
||||
| # | 文件 | 位置 | 问题 |
|
||||
|---|------|------|------|
|
||||
| 5 | Chapter2.rpy | 行63 | 不当用词("男娘"/"男同" 称呼同学) |
|
||||
| 6 | Chapter2.rpy | 行301 | "仁懿涛"疑为"任懿涛"错别字 |
|
||||
| 7 | Chapter2.rpy | 行44,48,51 | `flag["lhy_team"]` / `flag["C2S1_think"]` 只写未读 |
|
||||
| 8 | Chapter2-Side.rpy | 行75 | `flag["C4"]` 只写未读 |
|
||||
| 9 | Chapter1.rpy | 行128 | `hide ryt` 无效操作(scene 已清空,show 已被注释) |
|
||||
| 10 | Chapter1.rpy | 行235 | `is_xiaowei_w = False` 冗余(默认已是 False) |
|
||||
|
||||
### 💡 建议 — 清理优化
|
||||
|
||||
| # | 文件 | 位置 | 问题 |
|
||||
|---|------|------|------|
|
||||
| 11 | Chapter1.rpy | 多处 | 删除元数据注释(`.lzx` 标注、注释掉的废弃代码) |
|
||||
| 12 | Chapter1.rpy | 行343 | `"便利店主"` 建议定义为 Character 对象 |
|
||||
| 13 | Chapter2.rpy | 行325-326 | 删除废弃的注释代码 |
|
||||
|
||||
---
|
||||
|
||||
## 各角色 stats 定义完整性
|
||||
|
||||
全部通过。所有在 Chapters 中使用的 stat key 均在 `script.rpy` 中正确定义,无拼写错误。
|
||||
|
||||
## 跳转目标完整性
|
||||
|
||||
| 跳转 | 目标标签 | 所在文件 | 状态 |
|
||||
|------|----------|----------|------|
|
||||
| `jump Chapter1_Scene2/3/4` | 同文件 | Chapter1.rpy | ✓ |
|
||||
| `jump Chapter2_Scene1` | Chapter2_Scene1 | Chapter2.rpy:5 | ✓ |
|
||||
| `jump C2Side1` | C2Side1 | Chapter2-Side.rpy:4 | ✓ |
|
||||
| `jump C2S2~S7` | 同文件 | Chapter2.rpy | ✓ |
|
||||
| `jump C2Side1S1/S2/S3` | 同文件 | Chapter2-Side.rpy | ✓ |
|
||||