2x2分组逻辑

时间:2015-10-21 04:05:02

标签: java tic-tac-toe

X将成为赢家,因为他有一个2x2组,谢谢你的帮助!

[self.mainGroup setBackgroundImageNamed:@"loading"];

代码如何使用上述相同的变量来确定2x2分组的胜利者,例如

             example code for to find a vertical tic tac toe winner

         for(int i=0; i<BOARD_SIZE; i++)
        {
            for(int j=0; j<BOARD_SIZE; j++)
                if(board[i][j] != symbol)
                    continue Label1;
            //if reached, winning line found
            return true;
        }

x会赢得这里

1 个答案:

答案 0 :(得分:0)

这会有点笨拙,但......

for(int i = 0; i< (BOARD_SIZE -1); i++){
   for(int j = 0; j < BOARD_SIZE -1); j++){
      if( (board[i][j] == symbol) &&
          (board[i+1][j] == symbol) &&
          (board[i][j+1] == symbol) &&
          (board[i+1][j+1] == symbol)
        ) { /* winner */ return true;}
   }
}
/* no winner found */ return false;

我考虑过为复杂的条件添加内部for循环,但我认为如果只需要2x2则不保证。如果您需要单独搜索“3x3获胜者”或“NxN获胜者”,那么内部循环肯定是合理的。