breakout 缺少 paddleX 可观测状态 | Expose paddleX or paddle.x from snapshot(). Wire ArrowLeft/ArrowRight or left/right input so reset('paddleMove') followed by live step() changes that value. |
breakout 缺少 ball 坐标/速度状态 | Expose ball.x, ball.y, and velocity/speed such as ball.vx, ball.vy, ball.dx, ball.dy, or ball.speed. Make Space launch move ball coordinates in both reset('launch') and the real initial browser state. |
breakout 缺少 wallBounceCount | Add wallBounceCount and increment it only when live ball-wall collision reverses direction. reset('wallBounce') should place the ball near a wall and prove wallBounceCount > before. |
breakout 缺少 paddleBounceCount | Add paddleBounceCount and increment it only when the ball hits the paddle. reset('paddleBounce') should place the ball above the paddle and prove the counter increases. |
breakout 缺少 brickCount/bricksRemaining 与 score | Expose brickCount or bricksRemaining plus score. reset('brickHit') should drive a real brick collision so brick count decreases or score increases. |
breakout 缺少 powerups | Add all five required powerups: wide, multi, slow, through, and life. Each needs its own quoted reset('powerup:<type>') scenario and a matching snapshot delta. |
breakout 缺少 deterministic reset scenario | Implement quoted reset ids for paddleMove, launch, wallBounce, paddleBounce, brickHit, win, lose, plus powerup:wide, powerup:multi, powerup:slow, powerup:through, and powerup:life. |
breakout runtime 初始首屏没有可打砖块 | Load a playable brick layout on the real initial screen. Do not create bricks only inside test-only reset scenarios. |
breakout runtime 缺少真实 Space 发球证据 | Normalize browser Space input from event.code === 'Space' or event.key === ' ' into the same launch action used by the live loop, focus the game root on load/click, and prove ball coordinates change from initial load. |
breakout runtime 缺少 powerup 触发证据 | Repair each powerup:<type> probe so wide increases paddle width, multi increases ball count, slow decreases ball speed, through sets a truthy through flag, and life increases lives. |
breakout runtime 缺少 win 证据 | Make reset('win') reach status: 'won', 'win', 'complete', or 'cleared' after clearing bricks. |
breakout runtime 缺少 lose 证据 | Make reset('lose') reach status: 'lost', 'lose', 'failed', or 'gameover', or set lives to 0 after a real miss/life-loss path. |