Repository navigation
fix: 消消乐T/L型漏消+推箱子零箱局+俄罗斯方块连消中断 - #2
Conversation
- Match3: findAllMatches 抽为纯函数 Match3Matches,修复 T/L 交叉型 因 checked 去重导致竖臂/短边漏消;补 T/L 回归测试 - Sokoban: 生成重试 10→24 次并新增 forcePlayableLevel 保底关,杜绝 零箱局;玩家落点不再覆盖箱子/目标;擦墙角的推动跳过而非整关作废; 收尾按盘面重数箱/目标并校验可通性 - Tetris: 消行音效移到 y-- 之后并缓存 getInstance,player 为空不再 中断连续消行
Code Review SummaryThis review did not finish. The model reached its output limit before it Previous Review Summaries (5 snapshots)Current summary above is authoritative. Previous snapshots are kept for context only. Previous reviewThis review did not finish. The model reached its output limit before it Previous reviewThis review did not finish. The model reached its output limit before it Previous reviewThis review did not finish. The model reached its output limit before it Previous reviewThis review did not finish. The model reached its output limit before it Previous reviewThis review did not finish. The model reached its output limit before it Reviewed by free · Input: 0 · Output: 0 · Cached: 0 |
修复内容
1. 消消乐 T/L 型漏消(Match3GameScreen + 新增 Match3Matches)
findAllMatches抽成无 Minecraft 依赖的纯函数Match3Matches.findAll:原实现用checked[][]去重,T/L 交叉型的竖臂/短边因交叉点已计入而被整段漏消(玩家看不到的幽灵方块残留在棋盘上)。新增grid[x][y] >= 0守卫。回归测试:
match3FindsVerticalArmOfTShape(T 横杠+竖臂、L 横杠+短边、旁邻格不误消)。2. 推箱子零箱局与生成鲁棒性(SokobanScreen)
forcePlayableLevel写入一箱一目标的保底关,杜绝零箱局落到玩家手里3. 俄罗斯方块连消中断(TetrisGameScreen)
消行音效调用移到
y--(连续满行重检测)之后,并缓存Minecraft.getInstance()——player 为空时不再中断连续消行逻辑。验证
MiniGameRegressionTest4/0 通过(含新增 Match3 用例)