我正在制作一个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;
}