Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在AS3中检测游戏获胜状态_Actionscript 3_Oop - Fatal编程技术网

Actionscript 3 在AS3中检测游戏获胜状态

Actionscript 3 在AS3中检测游戏获胜状态,actionscript-3,oop,Actionscript 3,Oop,我正在尝试提出一个干净的函数,它将在2D阵列上执行检查,以验证ConnectFour游戏中是否发生了胜利。我正在努力研究逻辑,但我的大脑现在是瑞士奶酪。这是我用来检查横向胜利的方法。在我看来,应该有一种方法来简化这个模块,以便在所有可能的方向上工作 private function checkForHorizontalWin(column:uint, row:uint, grid:Array):Boolean { var player:uint = grid[column

我正在尝试提出一个干净的函数,它将在2D阵列上执行检查,以验证ConnectFour游戏中是否发生了胜利。我正在努力研究逻辑,但我的大脑现在是瑞士奶酪。这是我用来检查横向胜利的方法。在我看来,应该有一种方法来简化这个模块,以便在所有可能的方向上工作

private function checkForHorizontalWin(column:uint, row:uint, grid:Array):Boolean
    {
        var player:uint = grid[column][row];
        var counter:uint = 1;

        for(var i:uint = Math.min(0, uint(column-1)); i>=0; i--)
        {
            if(!grid[i][row] || grid[i][row] != player)
            {
                break;
            }
            counter++;
        }

        for(var j:uint = column+1; j<_columns; j++)
        {
            if(!grid[j][row] || grid[j][row] != player)
            {
                break;
            }
            counter++;
        }

        if(counter >=4)
        {
            return true;
        }
        else
        {
            return false;
        }

    }
私有函数checkForHorizontalWin(列:uint,行:uint,网格:数组):布尔值
{
var-player:uint=grid[列][行];
变量计数器:uint=1;
对于(变量i:uint=Math.min(0,uint(第1列));i>=0;i--)
{
如果(!grid[i][row]| grid[i][row]!=玩家)
{
打破
}
计数器++;
}
对于(变量j:uint=column+1;j=4)
{
返回true;
}
其他的
{
返回false;
}
}

我实际上做了一件非常简单的事情…将网格数组转换为字符串,然后在一行中查找4…唯一棘手的部分是获得正确的对角线可能性数组,但我也解决了这个问题