JS俄罗斯方块删除行问题

问题描述 投票:0回答:1

我正在学习JavaScript,为此,我想制作一个俄罗斯方块游戏。到现在为止,我已经有了很多功能,但是仍然停留在clearRow()(清除行)问题上。

我的代码如下。我检查gameBoardSquared 2D阵列的每一行。如果一行中的所有块均为蓝色,则应删除此行。

这是我的代码:

function clearRow(){

for(var rows = 0; rows < gameBoardSquared.length; rows++){
    var isFullLine = false;
    if(gameBoardSquared.every(k => k[rows].squareColor == "blue")){
        isFullLine = true;
        console.log("fds");
    }
    if(isFullLine){
        //here I would like to iterate trough all the elements, that are true in the upper if statement (if(gameBoardSquared.every...)
        }
      }
    }
}

但不是这个。如果可以将.splice插入if(arr.every())条件中,而不是仅删除一个tetromino,我将不胜感激。

编辑:因为整个游戏板都是在画布中制成的,所以我要遍历槽列。轴在那里恢复。

javascript arrays multidimensional-array tetris
1个回答
0
投票

知道了!

非常感谢您的动机:-)。

function clearRow(){
    for(var rows = 0; rows < gameBoardSquared.length; rows++){
        while(gameBoardSquared.every(k => k[rows].squareColor == "blue")){
            for(var i = 0; i < gameBoardSquared.length; i++){
                console.log(gameBoardSquared[i].splice(rows, 1));
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.