Advertisement

井字棋类函数中的判断实现(C++每日一题)

阅读量:

针对某一特定的井字棋棋盘状态,需要构建一种高效的算法来判定当前玩家是否已取得胜利。

给定一个二维数组board,用于表示当前棋盘的状态,其中数值为1表示当前玩家放置的棋子,数值为0表示该位置尚未放置棋子,数值为-1则代表对方玩家的棋子。

我的思路是首先检查每一列中的元素情况,随后分析每一行中的元素分布,最后验证对角线方向上的元素排列状况。

代码实现如下:

复制代码
  
    
 class Board {
    
 public:
    
     bool checkWon(vector<vector<int> > board) {
    
     int k=0;
    
     for(int i=0;i<3;i++)
    
     {
    
         if(board[i][0]==1&&board[i][1]==1&&board[i][2]==1)//判断一列
    
         {
    
             k=1;
    
         }
    
          if(board[0][i]==1&&board[1][i]==1&&board[2][i]==1)//判断一行
    
         {
    
             k=1;
    
         }
    

全部评论 (0)

还没有任何评论哟~