21xrx.com
2024-11-05 19:37:29 Tuesday
登录
文章检索 我的文章 写文章
C++实现三子棋游戏代码
2023-07-08 14:13:40 深夜i     --     --
C++ 三子棋 游戏 代码 实现

三子棋游戏是一种简单、有趣的棋类游戏,其规则简单,玩家通过不断落子,最终获得胜利。在C++编程中实现三子棋游戏,可以帮助初学者更好地学习和掌握编程技术。下面将介绍如何使用C++编写三子棋游戏代码。

首先,需要定义一个3x3的棋盘,并初始化为空。可以使用数组来表示棋盘,如下所示:


char board[3][3] = {

   ' ',

   ' ',

   ' '

};

接下来,需要定义两个玩家,一个是X,另一个是O。同时,还需要定义一个变量来表示当前玩家。在本代码中,将玩家X设为先手,玩家O设为后手,且玩家X为当前玩家。


char player1 = 'X', player2 = 'O';

char currentPlayer = player1;

接着,需要定义一个函数来实现落子操作。此函数需要在棋盘上指定位置落子,并将当前玩家的符号放在相应位置。同时,还需要切换当前玩家。代码如下:


void makeMove(int row, int column) {

  board[row][column] = currentPlayer;

  if (currentPlayer == player1)

    currentPlayer = player2;

   else

    currentPlayer = player1;

  

}

然后,需要定义一个函数来判断游戏是否已经结束。在三子棋游戏中,当一方在任意一行、一列或一条对角线上连成三个自己棋子时,游戏结束。如下是判断游戏是否结束的函数:


bool checkWin() {

  // Check rows

  for (int i = 0; i < 3; i++) {

    if (board[i][0] == board[i][1] && board[i][1] == board[i][2] && board[i][0] != ' ')

      return true;

    

  }

  // Check columns

  for (int j = 0; j < 3; j++) {

    if (board[0][j] == board[1][j] && board[1][j] == board[2][j] && board[0][j] != ' ')

      return true;

    

  }

  // Check diagonals

  if ((board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[0][0] != ' ') || (board[0][2] == board[1][1] && board[1][1] == board[2][0] && board[0][2] != ' '))

    return true;

  

  return false;

}

最后,编写主函数来实现完整的三子棋游戏。在游戏开始时,打印出空棋盘;然后轮流询问玩家在哪行、哪列落子;每一次落子后检查游戏是否结束,如果结束则打印胜负结果,并结束游戏。整个程序如下:


#include <iostream>

using namespace std;

// Define board

char board[3][3] = {

   ' ',

   ' ',

   ' '

};

// Define players

char player1 = 'X', player2 = 'O';

char currentPlayer = player1;

// Implement make move function

void makeMove(int row, int column) {

  board[row][column] = currentPlayer;

  if (currentPlayer == player1)

    currentPlayer = player2;

   else

    currentPlayer = player1;

  

}

// Implement check win function

bool checkWin() {

  // Check rows

  for (int i = 0; i < 3; i++) {

    if (board[i][0] == board[i][1] && board[i][1] == board[i][2] && board[i][0] != ' ')

      return true;

    

  }

  // Check columns

  for (int j = 0; j < 3; j++) {

    if (board[0][j] == board[1][j] && board[1][j] == board[2][j] && board[0][j] != ' ')

      return true;

    

  }

  // Check diagonals

  if ((board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[0][0] != ' ') || (board[0][2] == board[1][1] && board[1][1] == board[2][0] && board[0][2] != ' '))

    return true;

  

  return false;

}

// Implement main function

int main() {

  // Print initial board

  for (int i = 0; i < 3; i++) {

    for (int j = 0; j < 3; j++) {

      cout << board[i][j] << " ";

    }

    cout << endl;

  }

  // Main game loop

  int row, column;

  while (true) {

    // Ask for player move

    cout << "Player " << currentPlayer << ", enter row and column (0-2): ";

    cin >> row >> column;

    // Make move and print board

    makeMove(row, column);

    for (int i = 0; i < 3; i++) {

      for (int j = 0; j < 3; j++) {

        cout << board[i][j] << " ";

      }

      cout << endl;

    }

    // Check win condition

    if (checkWin())

      cout << "Player " << currentPlayer << " wins!" << endl;

      break;

    

  }

  return 0;

}

以上就是使用C++编写三子棋游戏代码的全部步骤和代码。如果您是初学者,建议您在编写过程中多加思考和实践,以便更好地掌握C++编程技术。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复