《重生逆袭》第一天小结

架构设计总览

image\.png

数据流

启动时初始化

Text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Unity Play
│
▼
ConsoleTester.Start()
│
├── new GameEngine()
├── Resources.Load<GameConfig>("GameConfig") ← 从 .asset 读配置
├── engine.Init(gameConfig)
│ ├── stats = new PlayerStats()
│ └── stats.InitFromConfig(config) ← 把配置灌进运行时数据
│ Energy=10, Skill=5, Resume=0, Mindset=50, Stress=30
│ MaxEnergy=10, MaxSkill=100, ...
│
└── 打印欢迎信息 + 初始属性

玩家行动阶段(一回合可有多次行动选择)

Text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
玩家按 1~5
│
▼
ConsoleTester.HandleAction(action)
│
├── engine.GetActionCost(action) ← 查费用(含高压 Debuff 判断)
│ └── ActionSystem.GetCost()
│
└── engine.ExecuteAction(action) ← 执行行动
└── ActionSystem.Execute()
├── 检查 AP 够不够
├── 扣 AP
├── 计算 Buff(心态≥80 且 焦虑<70 → bonus=+2)
├── 按 switch 修改属性
│ └── Skill 收益走 GetTieredSkillGain() 分段衰减
└── stats.ClampAll() ← 确保不越界

结束此回合(按space)

Text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
玩家按 Space
│
▼
ConsoleTester.HandleEndTurn()
│
└── engine.EndTurn()
│
├── ① 记录 HighStressTurns
│ Stress ≥ 90 → 计数器+1
│ Stress < 90 → 计数器归零
│
├── ② 中期败北判定
│ HighStressTurns ≥ 2 → 抑郁休学,Game Over
│
├── ③ CurrentTurn++
│ 超过 maxTurns(15) → 终局判定,Game Over
│
├── ④ 恢复 AP
│ Stress ≥ 90 → 恢复 7 点(崩盘预警)
│ 否则 → 恢复 MaxEnergy(10)
│ 再减去 pendingApPenalty(事件遗留 debuff)
│
└── ⑤ 事件检查
└── EventSystem.CheckAndTrigger(stats)
│
├── 固定事件优先:Turn 5 → 导师问询
│ Turn 7 → 期末大作业
│
└── 随机事件:GitHub爆火 / 源码丢失 / 好评
│
├── 有选择的事件 → phase = EventChoice
│ 等玩家按 1/2 选择
│ └── engine.ResolveEventChoice()
│ └── EventSystem.ResolveChoice()
│
└── 无选择的事件 → 直接 ApplyPassiveEffect()

结局判定

Text
1
2
3
4
5
6
7
8
9
10
11
12
Game Over 触发路径:

路径 A:HighStressTurns ≥ 2
→ EndingType.DepressionBurnout(抑郁休学)

路径 B:CurrentTurn > 15
→ EndingEvaluator.EvaluateFinalEnding(stats)
│
├── Skill≥80 & Resume≥80 & Mindset≥70 → IndieDev(隐藏结局)
├── Skill≥70 & Resume≥70 → AAAOffer(完美结局)
├── Skill<40 → GraduationDelay(延毕)
└── 其他 → Normal(平平无奇)

完整的一个回合流程

image\.png

Buff系统

Text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
每次执行行动时,ActionSystem.Execute() 内部判断:

highStress = Stress ≥ 70
mindsetBuff = (!highStress) && (Mindset ≥ 80)

影响 1:AP 消耗
除打瓦外,所有行动 AP +1(当 highStress = true)
打瓦固定 2 AP,不受影响

影响 2:行动收益
mindsetBuff = true 时:
肝Demo 的 Resume 额外 +2
逃课实习的 Resume 额外 +2

注意:Stress ≥ 70 时,即使 Mindset ≥ 80 也不触发正面 Buff

测试逻辑

ConsoleTester作为整个游戏的唯一入口,负责:

  • 初始化:Start() 里加载 GameConfig → 传给 GameEngine → 打印欢迎信息

  • 输入路由:Update() 每帧检测按键,根据 phase 分发到不同处理函数

  • 输出显示:所有 Debug.Log 都在这里,GameEngine/ActionSystem 不做任何输出

Text
1
2
3
4
5
6
7
8
9
10
11
Update() 每帧检测:
│
├── phase == GameOver → 什么都不做
│
├── phase == EventChoice → HandleEventInput()
│ 按 1 → ResolveEventChoice(1)
│ 按 2 → ResolveEventChoice(2)
│
└── phase == Playing
按 1~5 → HandleAction(对应行动)
按 Space → HandleEndTurn()

当前项目状态

  • ActionData.cs:⚠️ 结构定义好了,ActionSystem 还没用它,仍然硬编码;

  • EventData.cs:❌ 空文件,EventSystem 仍然硬编码;

  • PlayerStats.GetDisplay():⚠️ 写死 /15,应该从 config.maxTurns 读。

总结:游戏的核心玩法已经可以跑通了,从第 1 回合到第 15 回合,5 种行动、5 个事件、5 种结局全部就位。只差 ActionData/EventData 的配置化接入(解耦优化,不影响功能)。

推到GitHub仓库

在和asset同级的目录下创建文件.gitignore

Text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
/[Mm]emoryCaptures/

# Visual Studio / Rider / VS Code 缓存
.vs/
.idea/
*.csproj
*.sln
1
2
3
4
5
6
7
8
9
# 2. 初始化并提交
git init
git add .
git commit -m "feat: 核心玩法原型 - 5行动/5事件/5结局"

# 3. 推送
git remote add origin <仓库地址>
git branch -M main
git push -u origin main
Icon
致谢名单
本作品由 Yvonne 于 2026-09-22 00:00:00 发布
作品地址:《重生逆袭》第一天小结
除特别声明外,本站作品均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自 Yvonne!Greetings to you!
Logo
上一篇Game Idea:《重生逆袭——青春女大的秋招之路》下一篇Unity学习笔记——认识UI
Icon抱歉呢客官,目前还没有接入服务器和数据库,暂时不可以评论喵QAQ