# MVP 详细设计文档:最强导师 (The Apex Mentor) ## 1. 概述 本 MVP 旨在验证游戏的核心循环:**任务分发 -> 学生自动工作 -> 资源结算 -> 压力/状态管理**。 范围仅涵盖设计文档中的“第一阶段:青椒求生”(前 10 回合)。 ## 2. 核心循环 (Core Loop) 游戏以“回合”(Turn)为单位,每个回合代表一年(或一个学期)。 回合内流程如下: 1. **准备阶段 (Planning Phase)** * **时间暂停**。 * 玩家查看当前资源(经费、声望)。 * 玩家查看现有学生状态(心情、属性)。 * 玩家接收新任务(课题/论文)并将其分配给具体的设施(如实验室工位)。 * 玩家使用经费购买/升级设施或道具。 2. **执行阶段 (Execution Phase)** * **时间流动**(可视化的几天/几周)。 * 学生根据 AI 逻辑自动寻找任务进行工作(扣减任务 HP)。 * 学生各项数值变化(压力上升、体力下降)。 * 导师(玩家 Avatar)在地图上移动,使用技能(如“画饼”、“PUA”)干预学生状态。 * 突发事件触发(如“电脑蓝屏”),需要导师立刻前往处理。 3. **结算阶段 (Review Phase)** * 回合结束(Deadline 到达)。 * 计算完成的任务:获得声望、经费。 * 计算未完成的任务:扣除声望、经费。 * 支付学生工资、维护费。 * 结算学生状态(是否崩溃/退学/毕业)。 * 显示本回合报表。 ## 3. 核心对象设计 (Core Object Design) ### 3.1 全局管理器 (GameManager) * **职责**:维护全局状态、回合流转、全局资源。 * **属性**: * `CurrentTurn` (int): 当前回合数。 * `Phase` (Enum): Planning / Execution / Review。 * `GlobalResources` (Object): 包含 Money, Reputation, ResearchPoints。 * **方法**: * `StartTurn()`: 进入准备阶段。 * `StartExecution()`: 开始执行阶段。 * `EndTurn()`: 触发结算。 ### 3.2 导师 (Mentor / Player) * **职责**:玩家在场景中的化身,提供 Buff 和技能。 * **属性**: * `Energy` (int): 精力值,用于释放技能。 * `Position` (Vector2): 地图位置。 * `Skills` (List): 拥有的技能列表。 * **技能示例**: * `Inspire`: 消耗精力,范围内学生工作效率 +50%,持续 5秒。 * `MicroManage`: 消耗精力,立刻减少某任务 5% 剩余工作量,增加学生压力。 ### 3.3 学生 (Student) * **职责**:基础工作单位,具有自主 AI。 * **扩展属性** (继承自现有 `Student.cs`): * **Attributes (能力值)**: `Intelligence` (智力), `Strength` (体力), `Expression` (表达). * **Status (状态值)**: `Sanity` (SAN值/抗压), `Stamina` (当前体力), `Loyalty` (忠诚度). * **Traits (特质)**: List (如 "NightOwl": 晚上效率高). * **状态机 (FSM)**: * `Idle`: 无任务或休息中。 * `Working`: 在工位上对任务造成伤害。 * `Resting`: 在咖啡厅/宿舍恢复 Sanity/Stamina。 * `Breakdown`: 崩溃状态,无法工作,需导师干预。 ### 3.4 任务 (Task) * **职责**:地图上的“怪物”,需要被学生“击败”。 * **属性**: * `TotalWorkload` (float): 总工作量 (HP)。 * `CurrentProgress` (float): 当前进度。 * `Type` (Enum): Paper (论文), Project (项目), Admin (杂务). * `Difficulty` (float): 减伤系数,需要特定属性(如智力)对抗。 * `Deadline` (int): 剩余回合数。 * `Rewards` (Resource): 完成奖励。 ### 3.5 实验室/地图 (Lab) * **职责**:容器,管理设施和路径。 * **扩展**: * 需支持从 `GameManager` 获取设施列表。 * 设施 (Facility) 需关联 Task(任务绑定到设施上,学生去设施工作)。 ## 4. 扩展性设计 (Scalability) * **IAgent 接口**:学生、导师、后续的“博后”都实现此接口,方便统一管理行为。 * **EventSystem**:使用观察者模式(已有的 `TimelineType` 可扩展)处理突发事件。 * **SaveSystem**:所有核心数据(Student Data, Task Data)需可序列化,支持 SL 大法和 Roguelite 继承。 ## 5. MVP 开发计划 (脚手架) 我们将创建以下脚本结构: * `scripts/Core/GameLoop.cs`: 处理回合流程。 * `scripts/Domain/Task.cs`: 任务数据结构。 * `scripts/Domain/Mentor.cs`: 导师逻辑。 * `scripts/Domain/StudentData.cs`: 学生数值模型(与表现层 `Student.cs` 分离或集成)。 ---