JS俄罗斯方块删除行问题
JS Tetris deleting line issue
正在学习 JavaScript 为此,我想制作一款俄罗斯方块游戏。
到目前为止,我已经获得了很多功能,但仍停留在 clearRow()(清晰行)问题上。
我的代码工作如下。我检查了 gameBoardSquared 二维数组的每一行。如果一行中的所有块都是蓝色,则应删除该行。
这是我的代码:
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()) 条件,而不是只删除一个四联骨牌,我将不胜感激。
编辑:
我正在遍历列,因为整个游戏板是在 canvas 中制作的。那里的轴被还原了。
知道了!
感谢 SO 的鼓励:-)。
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));
}
}
}
}
正在学习 JavaScript 为此,我想制作一款俄罗斯方块游戏。 到目前为止,我已经获得了很多功能,但仍停留在 clearRow()(清晰行)问题上。
我的代码工作如下。我检查了 gameBoardSquared 二维数组的每一行。如果一行中的所有块都是蓝色,则应删除该行。
这是我的代码:
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()) 条件,而不是只删除一个四联骨牌,我将不胜感激。
编辑: 我正在遍历列,因为整个游戏板是在 canvas 中制作的。那里的轴被还原了。
知道了!
感谢 SO 的鼓励:-)。
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));
}
}
}
}