我正在学习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,我将不胜感激。
编辑:因为整个游戏板都是在画布中制成的,所以我要遍历槽列。轴在那里恢复。
知道了!
非常感谢您的动机:-)。
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));
}
}
}
}