Files
Tereis/TODO.md
T
2026-04-27 00:12:21 +08:00

15 KiB

Rogue 事件系统 TODO 评估

本文档用于整理后续 Rogue 随机事件方向,先做设计评估,不进入代码实现。

当前项目已经具备的基础:

  • workRegion[20][10] 棋盘格,可直接做障碍、垃圾行、局部清除、压实等棋盘改动。
  • Rogue 模式已有危险等级、底部封锁行、下落速度变化、强化池、主动技能、特殊方块、Hold、Next 预览。
  • 消行结算、方块生成、计时器、渲染反馈已经集中在少数文件中,适合加一层“事件状态 + 事件调度”。

当前项目暂缺的基础:

  • 没有通用随机事件调度器。
  • 棋盘格目前主要用数字表示普通方块/彩虹方块,缺少石头、污染、尖刺、锁链、目标块等细分格子类型。
  • 不规划 Boss/敌人系统;事件只作为 Rogue 随机事件存在。
  • 没有完整的事件 UI 状态栏、倒计时提示和事件历史展示。

第一阶段:最适合当前项目,优先考虑

这些事件基本能复用现有棋盘、计时、方块生成、Hold/Next、消行和反馈系统,改动相对可控。

  • 底部随机升起:底部生成 1-3 行障碍,带少量空洞。

    • 适合度:高。
    • 原因:类似垃圾行,可直接移动棋盘并填充底部。
    • 注意:需要避免无预警秒杀,可加 2-3 秒提示。
  • 墙体收缩:左右各封锁 1 列,持续 20 秒。

    • 适合度:高。
    • 原因:已有底部封锁概念,可扩展为临时左右边界。
    • 注意:碰撞、落点、渲染都要读取临时边界,避免只画不挡。
  • 断层错位:随机选择几行,整体左/右平移 1 格。

    • 适合度:高。
    • 原因:直接操作 workRegion 行数据。
    • 注意:边缘溢出的格子如何处理需要规则化,建议溢出消失或反向空洞补位。
  • 塌方:场上悬空方块向下坠落,重新压实。

    • 适合度:高。
    • 原因:项目已有 ApplyBoardGravity(),可复用或扩展。
    • 注意:作为负面事件时可能反而帮助玩家,需要定位为混合事件。
  • 地刺:底部若干格变成尖刺,占位但可被消行清除。

    • 适合度:中高。
    • 原因:本质是特殊障碍格。
    • 注意:需要新增格子类型和渲染颜色,但规则简单。
  • 封印列:某一列暂时不能放置方块,持续数个方块。

    • 适合度:高。
    • 原因:可通过碰撞检测禁止当前方块固定到该列。
    • 注意:需要明确“不能经过”还是“不能落地占用”,建议先做“不能落地占用”。
  • 强风:当前方块每隔 1 秒自动向左/右偏移。

    • 适合度:高。
    • 原因:已有左右移动和计时器。
    • 注意:偏移前必须做碰撞检测;建议只作用于活动方块。
  • 重力紊乱:方块下落速度周期性忽快忽慢。

    • 适合度:高。
    • 原因:已有 currentFallInterval 和 Rogue 下落速度计算。
    • 注意:需要避免与狂热、时间缓流等强化互相覆盖。
  • 旋转失灵:每隔一个方块,有一个方块不能旋转。

    • 适合度:高。
    • 原因:只需在 Rotate() 入口判断事件状态。
    • 注意:UI 要明确提示,避免像输入失效。
  • 镜像操作:左右移动反转,持续 10 秒。

    • 适合度:高。
    • 原因:输入分发处交换左右移动即可。
    • 注意:鼠标或未来触控输入也要统一处理。
  • 粘滞空气:横移延迟增加,持续 15 秒。

    • 适合度:中。
    • 原因:当前键盘输入看起来偏即时响应,若没有 DAS/ARR 机制,需要先补横移节流。
    • 注意:实现成本比描述略高。
  • 超重方块:当前方块落地后锁定时间大幅缩短。

    • 适合度:中。
    • 原因:若当前没有锁定延迟,需要先引入 lock delay。
    • 注意:没有锁定延迟时可以降级为“触底立即固定”。
  • 长条枯竭:一段时间内 I 方块出现率降低。

    • 适合度:高。
    • 原因:已有 Rogue 方块权重生成。
    • 注意:不要完全禁用 I,避免体验过硬。
  • 蛇群:接下来 6 个方块更容易出现 S/Z。

    • 适合度:高。
    • 原因:同样是方块生成权重调整。
  • 小块雨:连续掉落若干 1x1 或 1x2 小块。

    • 适合度:中高。
    • 原因:可以作为特殊临时方块池。
    • 注意:现有方块数组是 7 种 4x4,需要扩展临时形状或伪装为特殊类型。
  • 石化块:接下来 3 个方块落地后部分格子变石头。

    • 适合度:中高。
    • 原因:固定阶段可替换格子类型。
    • 注意:需要新增石头格规则:是否可消行、是否可被技能清除。
  • 幽灵块:方块预览正常,但落下时形状随机变化一次。

    • 适合度:中高。
    • 原因:消费 Next 后替换当前 type
    • 注意:变化后要重新校验出生位置,避免直接死亡。
  • 高压:30 秒内必须消除 4 行,否则加垃圾行。

    • 适合度:高。
    • 原因:已有总消行统计和计时器。
    • 注意:要记录事件期间消行数,不用全局总数直接判断。
  • 单消惩罚:单行消除会额外生成 1 行垃圾。

    • 适合度:高。
    • 原因:接在消行结算后处理。
    • 注意:对新手很重,适合短持续或中后期。
  • 禁止四消:四消不会得分,反而生成障碍,短期事件。

    • 适合度:中高。
    • 原因:消行奖励处可拦截。
    • 注意:与现有“雷霆四消/赌命四消”强化冲突,需要定义优先级。
  • Hold 冻结:暂时无法使用 Hold。

    • 适合度:高。
    • 原因:HoldCurrentPiece() 可直接判断事件状态。
  • 幽灵落点失效:影子落点隐藏。

    • 适合度:高。
    • 原因:渲染处跳过落点绘制。
  • 预览故障:Next 队列隐藏或随机显示假预览。

    • 适合度:中高。
    • 原因:渲染和实际队列分离即可。
    • 注意:假预览要清楚是事件效果,否则会像 bug。
  • 盲盒方块:下一个方块落下前不显示形状。

    • 适合度:高。
    • 原因:比假预览更简单,只隐藏下一块显示。
  • 色彩错乱:方块颜色随机打乱,影响识别。

    • 适合度:高。
    • 原因:只影响渲染颜色表映射。
  • 强化过热:主动技能冷却或充能需求翻倍,持续 30 秒。

    • 适合度:中高。
    • 原因:已有清屏炸弹、黑洞、空中换形等主动能力。
    • 注意:当前更像次数/充能,不一定是冷却;描述可改为“充能需求提高”。
  • 能量泄露:玩家能量条持续下降,消行可补充。

    • 适合度:中。
    • 原因:当前没有统一能量条,但有技能充能概念。
    • 注意:除非先做能量资源,否则建议暂缓。
  • 装备短路:随机一个强化暂时失效。

    • 适合度:中高。
    • 原因:已有强化等级字段,可加临时禁用表。
    • 注意:需要避免禁用核心 UI/基础能力导致解释困难。
  • 贪婪试炼:期间消行奖励翻倍,但每 10 秒加 1 行垃圾。

    • 适合度:高。
    • 原因:得分/经验倍率和垃圾行都能复用。
  • 混乱祝福:下落速度提高,但消行奖励翻倍。

    • 适合度:高。
    • 原因:与当前 Rogue 风险收益强化风格一致。
  • 危险长条:下一个必定是 I,但落地后生成 1 行垃圾。

    • 适合度:高。
    • 原因:直接改 Next 队列并挂一个落地后副作用。
  • 猎杀时刻:生成目标块,清除后给奖励,失败则加障碍。

    • 适合度:中高。
    • 原因:需要目标格类型,但玩法清晰,展示效果好。
  • 极限压缩:场地高度降低,但所有消行计为双倍。

    • 适合度:中高。
    • 原因:已有底部封锁和奖励计算。
    • 注意:与常驻危险等级封锁叠加时要设上限。

第二阶段:可做,但需要先补系统能力

这些事件有价值,但依赖特殊格子、持续状态、倒计时 UI、事件优先级或更复杂的结算顺序。

  • 裂缝:随机列变成危险列,若 10 秒内没消除该列附近,会生成障碍。

    • 依赖:危险列标记、倒计时、附近消行判定。
  • 污染区:随机 3x3 区域被污染,污染格消除后会扩散一次。

    • 依赖:污染格类型、扩散结算、特殊渲染。
    • 风险:规则复杂,容易和普通消行/技能清除冲突。
  • 脆弱方块:当前方块每旋转一次,随机掉落一个单格碎片。

    • 依赖:活动方块局部拆分或生成独立固定格。
    • 风险:要定义碎片是否立即固定、是否触发消行。
  • 磁力干扰:方块靠近障碍块时会被吸附,加速锁定。

    • 依赖:障碍格类型、锁定延迟或特殊横移规则。
    • 风险:玩家可读性较差。
  • 巨型块:下一个方块变成五格或六格异形块。

    • 依赖:扩展方块形状系统。
    • 风险:现有 bricks[7][4][4][4] 固定为 7 种,需要重构或另建临时形状。
  • 爆裂块:下一个方块落地后随机炸掉相邻格子,可能好也可能坏。

    • 依赖:落地后局部爆破和反馈。
    • 备注:已有爆破核心,可复用特效和清除函数。
  • 锁链块:方块落地后被锁住,只有相邻消行才能解除。

    • 依赖:锁链格类型、相邻消行判定。
    • 风险:若锁住后不能正常消行,规则会很绕。
  • 连击试炼:规定时间内保持连击,断连则触发惩罚。

    • 依赖:连击生命周期定义。
    • 备注:已有 comboChain,但需要确认何时断连。
  • 精准清理:只有消除指定发光行才算有效消行。

    • 依赖:目标行标记、奖励过滤。
    • 风险:需要处理非目标行消除是否仍清棋盘。
  • 过载清除:消行后不会立即消失,而是延迟 2 秒,期间仍占位。

    • 依赖:延迟消行队列。
    • 风险:会影响核心俄罗斯方块节奏,改动较大。
  • 腐蚀行:某些行如果长期不被消除,会逐渐变成石头。

    • 依赖:按行计时、石头格类型。
  • 献祭规则:每消 3 行会摧毁一个随机强化效果,持续短时间。

    • 依赖:强化临时禁用/降级机制。
    • 风险:永久摧毁太重,建议先做短时封印。
  • 迷雾:只显示当前方块附近区域。

    • 依赖:渲染遮罩。
    • 风险:实现不难,但视觉遮挡强,需要短时使用。
  • 倒计时遮蔽:场地部分区域被 UI 遮挡,数秒后消失。

    • 依赖:渲染遮罩和事件 UI。
    • 风险:可能被认为是不公平遮挡。
  • 假警报:显示即将生成垃圾行的预警,但部分是假的。

    • 依赖:预警 UI 和真假队列。
    • 风险:需要先有稳定的真实预警系统。
  • 诅咒回响:最近一次选择的强化产生副作用。

    • 依赖:记录最近强化、为每类强化配置副作用。
    • 风险:内容量较大。
  • 保险失效:复活、护盾、防死类强化暂时不可用。

    • 依赖:临时禁用强化系统。
    • 备注:当前已有复活/最后一搏类能力,适合在禁用系统完成后做。
  • 超载窗口:所有强化效果增强,但结束后生成大量垃圾行。

    • 依赖:强化倍率覆盖层。
    • 风险:需要为每个强化定义“增强”含义。
  • 债务事件:立刻获得奖励,但未来 60 秒内难度提高。

    • 依赖:奖励发放、难度临时增益。
    • 备注:适合作为事件选择,而不是无条件负面事件。
  • 不稳定炸弹:给一个炸弹块,能清障碍,但倒计时结束会爆坏场地。

    • 依赖:临时特殊方块、倒计时、坏爆炸规则。
  • 交易事件:牺牲一个强化,换取清屏/降难度。

    • 依赖:事件选择 UI、强化移除或临时禁用。
  • 祝福陷阱:获得临时强力效果,结束后触发一次负面事件。

    • 依赖:事件链和延迟触发。

第三阶段:攻击型随机事件,可选做

这些事件原本偏“敌人攻击”风格,但本项目不做 Boss 机制。若保留,只作为普通随机事件触发,不做血量、阶段、护盾和敌人 UI。

  • 炮击:指定列被标记,数秒后生成障碍块。

    • 适合度:中高。
    • 备注:可以和裂缝共用“列预警 + 延迟生成障碍”的逻辑。
  • 毒液喷洒:随机格变污染块,消行时才清除。

    • 适合度:中。
    • 备注:依赖污染格系统。
  • 目标块入侵:场上出现几个需要消行击破的目标块。

    • 适合度:中。
    • 备注:可复用猎杀时刻目标块。
  • 护盾阶段:不做。

    • 原因:依赖 Boss 血量、阶段和伤害规则,已经超出当前项目方向。
  • 反击规则:玩家每次消行,额外生成 1 行垃圾。

    • 适合度:中。
    • 备注:可作为短时高压事件,但要避免和“单消惩罚”重复。
  • 蓄力攻击:倒计时结束后生成大量垃圾,消行可延缓倒计时。

    • 适合度:中高。
    • 备注:作为普通倒计时事件即可。
  • 寄生核心:一个核心块出现,每隔一段时间向周围扩散障碍。

    • 依赖:核心格、扩散逻辑、清除判定。
  • 锁定轰炸:玩家最近放置最多的列被优先攻击。

    • 依赖:记录落子列热度。
    • 备注:可作为高级普通事件。

建议实现顺序

  • 设计并新增 RogueEventState:当前事件、剩余时间、剩余方块数、事件参数、临时倍率、禁用标记。
  • 新增事件调度入口:只在 Rogue 模式中按时间/危险等级触发,避免经典模式受影响。
  • 新增事件提示 UI:事件名、剩余秒数、简短效果;先用右侧反馈面板,不做复杂界面。
  • 先完成 6 个低风险事件作为 MVP:
    • 底部随机升起
    • 强风
    • 重力紊乱
    • 镜像操作
    • 长条枯竭
    • 高压
  • 再完成 4 个能体现肉鸽取舍的混合事件:
    • 贪婪试炼
    • 混乱祝福
    • 危险长条
    • 极限压缩
  • 然后补特殊格子系统:
    • 石头格
    • 尖刺格
    • 污染格
    • 目标格
    • 锁链格
  • 特殊格子系统稳定后,再做污染、猎杀、寄生核心、锁链块、石化块。
  • 攻击型随机事件最后做;如果时间有限,只保留“炮击/蓄力攻击/锁定轰炸”三个最容易解释的事件。

不建议优先做的事件

  • 过载清除:会改动消行核心节奏,容易引入状态错乱。
  • 巨型块:需要扩展方块数据结构,投入高。
  • 磁力干扰:可读性弱,调参成本高。
  • 倒计时遮蔽:玩家体验可能偏负面。
  • 护盾阶段:需要 Boss 血量和阶段机制,当前项目明确不做。