繁体   English   中英

2x2分组逻辑

[英]2x2 Grouping Logic

X将成为赢家,因为他有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会在这里赢

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

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赢家”,则可以肯定地确定内部循环的合理性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM