diff --git a/TODO.md b/TODO.md index 30552fa..b6fe7cb 100644 --- a/TODO.md +++ b/TODO.md @@ -7,7 +7,7 @@ - [x] 保留当前原版俄罗斯方块玩法,作为“经典模式” - [x] 新增开始菜单,进入游戏前先选择模式 - [x] 模式至少包含:`经典模式`、`Rogue 模式` -- [x] 强化选择界面固定为“四选一”四个选项框,视觉参考《吸血鬼幸存者》 +- [x] 强化选择界面固定为“三选一”三个选项框,视觉参考《吸血鬼幸存者》 - [ ] 美术、图标、特效、音频先全部使用占位符资源 ## 阶段 0:重构准备与技术基线 @@ -100,7 +100,7 @@ - [x] 消行后可以稳定增加分数和经验 - [x] 达到阈值后必定进入升级选择状态 -## 阶段 5:强化池与四选一系统 +## 阶段 5:强化池与三选一系统 目标:先完成最关键的 Rogue 核心体验。 @@ -112,22 +112,22 @@ - [x] `preview_plus_one` - [x] `exp_multiplier` - [x] `last_chance` -- [x] 随机抽取 4 个不重复选项,避免当前局内明显无效选项 +- [x] 随机抽取 3 个不重复选项,避免当前局内明显无效选项 - [x] 支持重复强化的层数叠加 - [x] 选中后立即应用效果并返回游戏 - [x] 为后续强化扩展预留 `applyUpgradeById()` 分发函数 完成标准: -- [x] 每次升级都稳定弹出四个选项框 +- [x] 每次升级都稳定弹出三个选项框 - [x] 选择任一选项后效果立即生效 ## 阶段 6:升级界面 UI -目标:实现参考《吸血鬼幸存者》的四选一视觉结构,先用占位表现。 +目标:实现参考《吸血鬼幸存者》的三选一视觉结构,先用占位表现。 - [x] 增加全屏或半透明遮罩,压暗游戏场景 -- [x] 中央显示四个横向或纵向排列的选项框 +- [x] 中央显示三个横向或纵向排列的选项框 - [x] 每个选项框至少包含:占位图标、强化名、强化说明、强化分类、当前层数 - [x] 支持键盘选择:`A/D` 或方向键切换,`Enter/Space` 确认 - [ ] 高亮态、选中态、禁用态视觉区分明确 @@ -138,7 +138,7 @@ 完成标准: - [x] 升级界面可以独立显示 -- [x] 四个选项框可操作、可确认、可关闭 +- [x] 三个选项框可操作、可确认、可关闭 - [x] 视觉结构已经接近目标形式,后续只需替换资源 ## 阶段 7:玩法强化第一轮 @@ -204,7 +204,7 @@ - [ ] 开局正常生成方块 - [ ] 消行得分与经验正确 -- [x] 升级必出 4 个选项框 +- [x] 升级必出 3 个选项框 - [x] 选择后恢复游戏且不丢状态 - [ ] 复活、暂停、失败、重开互不冲突 diff --git a/src/source/TetrisLogic.cpp b/src/source/TetrisLogic.cpp index 6a1729d..825cead 100644 --- a/src/source/TetrisLogic.cpp +++ b/src/source/TetrisLogic.cpp @@ -1012,7 +1012,7 @@ static void FillUpgradeOptions() } } - int optionLimit = (rogueStats.destinyWheelLevel > 0) ? 5 : 4; + int optionLimit = (rogueStats.destinyWheelLevel > 0) ? 5 : 3; int optionCount = selectableCount < optionLimit ? selectableCount : optionLimit; upgradeUiState.optionCount = optionCount; upgradeUiState.selectedIndex = 0;