fix resting full line?

This commit is contained in:
Adrien MALINGREY 2023-04-21 19:25:14 +02:00
parent 23541270e5
commit 81072df085

9
app.js
View File

@ -667,20 +667,19 @@ function lockDown() {
lockedMinoesCoord = matrix.piece.minoesCoord[matrix.piece.orientation] lockedMinoesCoord = matrix.piece.minoesCoord[matrix.piece.orientation]
.translate(matrix.piece.center) .translate(matrix.piece.center)
if (lockedMinoesCoord.every(minoCoord => minoCoord.y < 4)) { if (lockedMinoesCoord.every(minoCoord => minoCoord.y >= 4)) {
gameOver()
} else {
lockedMinoesCoord.forEach(minoCoord => { lockedMinoesCoord.forEach(minoCoord => {
matrix.lockedMinoes[minoCoord.y][minoCoord.x] = matrix.piece.className matrix.lockedMinoes[minoCoord.y][minoCoord.x] = matrix.piece.className
matrix.drawMino(minoCoord, matrix.piece.className) matrix.drawMino(minoCoord, matrix.piece.className)
}) })
// T-spin // T-Spin
let tSpin = T_SPIN.NONE let tSpin = T_SPIN.NONE
if (matrix.piece.lastRotation && matrix.piece.constructor == T) { if (matrix.piece.lastRotation && matrix.piece.constructor == T) {
let [a, b, c, d] = matrix.piece.tSlots[matrix.piece.orientation] let [a, b, c, d] = matrix.piece.tSlots[matrix.piece.orientation]
.translate(matrix.piece.center) .translate(matrix.piece.center)
.map(minoCoord => !matrix.cellIsEmpty(minoCoord)) .map(minoCoord => !matrix.cellIsEmpty(minoCoord))
.sort()
if (a && b && (c || d)) if (a && b && (c || d))
tSpin = T_SPIN.T_SPIN tSpin = T_SPIN.T_SPIN
else if (c && d && (a || b)) else if (c && d && (a || b))
@ -699,6 +698,8 @@ function lockDown() {
stats.lockDown(clearedLines.length, tSpin) stats.lockDown(clearedLines.length, tSpin)
generate() generate()
} else {
gameOver()
} }
} }