2015-10-21 58 views
0

X将成为赢家,因为他有一个2x2组谢谢你的帮助!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; 
     } 

将代码中使用相同的变量上面什么来确定的2x2分组赢家例如

  x|x|o|o 
      x|x|o|x 
      | | | 
      | | | 

X会在这里夺冠

回答

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获胜者”,那么内部循环肯定是合理的。