JS俄罗斯方块删除行问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS俄罗斯方块删除行问题相关的知识,希望对你有一定的参考价值。

我正在学习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));
            
        
    

以上是关于JS俄罗斯方块删除行问题的主要内容,如果未能解决你的问题,请参考以下文章

俄罗斯方块游戏自动机

手把手带你从零开始完整开发经典游戏俄罗斯方块,全部逻辑只用不到200行代码。

csp-俄罗斯方块

CCF - 201604-2 - 俄罗斯方块

CSP-201604-2-俄罗斯方块

ccf160402-俄罗斯方块