21xrx.com
2024-11-22 05:29:53 Friday
登录
文章检索 我的文章 写文章
C++编写四子棋小游戏代码
2023-07-13 05:27:50 深夜i     --     --
C++ 四子棋 小游戏 代码 编写

四子棋是一款非常经典的游戏,玩法简单却极富趣味性。现在,我们来学习一下如何用C++语言编写这个小游戏的代码。

首先,我们需要明确一下四子棋的规则。四子棋是一款双人对战的游戏,由两名玩家轮流在棋盘的格子中落子,谁先将四个自己的棋子连成一线就胜利了。

接下来,我们开始写代码。代码需要实现三个功能:初始化棋盘、落子、判断胜负。首先是初始化棋盘的代码:


const int ROW = 5, COL = 5;

char board[ROW][COL];

void initBoard()

{

  for(int i = 0; i < ROW; i++)

  {

    for(int j = 0; j < COL; j++)

    {

      board[i][j] = '-';

    }

  }

}

接下来是落子的代码:


void drop(int row, int col, char c)

{

  board[row][col] = c;

}

void player1Drop()

{

  int row, col;

  cout << "请玩家1输入落子坐标(行 列):";

  cin >> row >> col;

  drop(row, col, 'A');

}

void player2Drop()

{

  int row, col;

  cout << "请玩家2输入落子坐标(行 列):";

  cin >> row >> col;

  drop(row, col, 'B');

}

最后是判断胜负的代码:


bool checkWin(char player)

{

  // 判断横线是否连成四个

  for(int i = 0; i < ROW; i++)

  {

    int count = 0;

    for(int j = 0; j < COL; j++)

    {

      if(board[i][j] == player)

      {

        count++;

      }

      else

      

        count = 0;

      

      if(count == 4)

      

        return true;

      

    }

  }

  // 判断竖线是否连成四个

  for(int i = 0; i < COL; i++)

  {

    int count = 0;

    for(int j = 0; j < ROW; j++)

    {

      if(board[j][i] == player)

      {

        count++;

      }

      else

      

        count = 0;

      

      if(count == 4)

      

        return true;

      

    }

  }

  // 判断左斜线是否连成四个

  for(int i = 0; i < ROW-3; i++)

  {

    for(int j = 0; j < COL-3; j++)

    {

      if(board[i][j] == player &&

        board[i+1][j+1] == player &&

        board[i+2][j+2] == player &&

        board[i+3][j+3] == player)

      

        return true;

      

    }

  }

  // 判断右斜线是否连成四个

  for(int i = 0; i < ROW-3; i++)

  {

    for(int j = 3; j < COL; j++)

    {

      if(board[i][j] == player &&

        board[i+1][j-1] == player &&

        board[i+2][j-2] == player &&

        board[i+3][j-3] == player)

      

        return true;

      

    }

  }

  // 没有连成四个的情况

  return false;

}

以上就是C++编写四子棋小游戏代码的全部内容。如果你对C++编程有一定的基础,那么应该可以轻松读懂上面的代码,并且自己编写出与之类似的代码。但同时,我们也要注意到,这个代码只是初级的实现方式,存在着优化的空间。例如,在checkWin函数的实现中,可以使用变量i和j的配合来简化代码,避免使用过多的if语句。总之,在实践中不断地学习和探索,才能让我们的程序更加完善。

  
  

评论区

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