我正在制作一个noughts and cross游戏(井字游戏),在我的逻辑课中,我用2d数组表示游戏的状态,但这是问题所在,我像这样检查数组

 if(gameModel[0][0] == gameModel[1][1] && gameModel[0][0] == gameModel[2][2]){
     return true;
    }
 if(gameModel[2][0] == gameModel[1][1] && gameModel[2][0] == gameModel[0][2]){
     return true;
    }


等等,对于所有8个条件,但是,数组在开始时都是用0初始化的,所以它总是找到三个匹配的值,我该如何解决这个问题而不必更改整个代码

谢谢

最佳答案

在这种情况下,您只需要添加检查是否设置了值:

if (   gameModel[0][0] == gameModel[1][1]
    && gameModel[0][0] == gameModel[2][2]
    && gameModel[0][0] != 0) {
 return true;
}

10-07 15:35