Fix garbage row visibility by pushing current piece up
When garbage rows are added to a player's board, the current falling piece was not being adjusted, causing it to appear stuck while the board shifted. This fix increments the piece's Y position when garbage is received and eliminates the player if the piece is pushed above the visible board. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+9
-1
@@ -395,7 +395,15 @@ function addGarbageToPlayer(player) {
|
|||||||
const garbageRow = Array(BOARD_WIDTH).fill(GARBAGE_COLOR);
|
const garbageRow = Array(BOARD_WIDTH).fill(GARBAGE_COLOR);
|
||||||
garbageRow[Math.floor(Math.random() * BOARD_WIDTH)] = 0;
|
garbageRow[Math.floor(Math.random() * BOARD_WIDTH)] = 0;
|
||||||
player.board.push(garbageRow);
|
player.board.push(garbageRow);
|
||||||
// Elimination is handled by spawnPiece when a new piece can't fit
|
|
||||||
|
// Push current piece up by 1 row if it exists
|
||||||
|
if (player.currentPiece) {
|
||||||
|
player.currentPiece.y++;
|
||||||
|
// Eliminate if the piece is pushed above the board
|
||||||
|
if (!isValidPosition(player.currentPiece, player.currentPiece.x, player.currentPiece.y, player.board)) {
|
||||||
|
player.eliminated = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getGhostY(piece, board) {
|
function getGhostY(piece, board) {
|
||||||
|
|||||||
Reference in New Issue
Block a user