21xrx.com
2024-12-22 20:46:40 Sunday
登录
文章检索 我的文章 写文章
C++五子棋游戏代码
2023-06-26 16:30:10 深夜i     --     --
C++ 五子棋 游戏代码 AI 图形界面

C++是一种高级编程语言,非常适合开发游戏。在这篇文章中,我们将为您介绍一个基于C++的五子棋游戏代码。

五子棋游戏是一种非常受欢迎的智力游戏,它使用棋盘和黑白两色的棋子。玩家轮流落子,尝试将自己的五个棋子连成一条线,以获胜。

我们将使用C++编写程序来实现五子棋游戏。下面是代码的基本结构:

#include

#include

#include

using namespace std;

int main(){

  int board[15][15]={0};//棋盘数组

  int x=0,y=0;//落子坐标

  int player=0;//当前玩家

  int i=0,j=0;//循环计数器

  int count=0;//计数器

  int winner=0;//赢家(0表示无胜者,1表示黑子,2表示白子)

  char ch;//按键字符

  while(winner==0){//没有赢家的情况下继续游戏

    player=player%2+1;//切换玩家

    system("cls");//清屏

    for(i=0;i<15;i++){

      for(j=0;j<15;j++){

        if(board[i][j]==0){

          cout<<"+ ";

        }

        else if(board[i][j]==1)

          cout<<"x ";

        else

          cout<<"o ";

      }

      cout<

    }

    cout<<"Player "< <<","<<"please input x and y:";

    cin>>x>>y;//读取玩家输入的坐标

    if(x<1||x>15||y<1||y>15||board[x-1][y-1]!=0){//坐标不合法或此处已落子

      cout<<"Invalid input, please try again!\n";

      player--;//回到上一个玩家

      getch();//按任意键继续

      continue;

    }

    if(player==1){

      board[x-1][y-1]=1;//玩家1落黑子

    }

    else{

      board[x-1][y-1]=2;//玩家2落白子

    }

    count++;//落子计数器+1

    if(count>=5){//落子数目不少于5才可能出现胜负

      for(i=0;i<15;i++){

        for(j=0;j<11;j++){

          if(board[i][j]==player&&board[i][j+1]==player&&board[i][j+2]==player&&board[i][j+3]==player&&board[i][j+4]==player){//水平方向有五颗连续的棋子

            winner=player;

            break;

          }

        }

      }

      for(j=0;j<15;j++){

        for(i=0;i<11;i++){

          if(board[i][j]==player&&board[i+1][j]==player&&board[i+2][j]==player&&board[i+3][j]==player&&board[i+4][j]==player){//竖直方向有五颗连续的棋子

            winner=player;

            break;

          }

        }

      }

      for(i=0;i<11;i++){

        for(j=0;j<11;j++){

          if(board[i][j]==player&&board[i+1][j+1]==player&&board[i+2][j+2]==player&&board[i+3][j+3]==player&&board[i+4][j+4]==player){//正斜方向有五颗连续的棋子

            winner=player;

            break;

          }

        }

      }

      for(i=0;i<11;i++){

        for(j=4;j<15;j++){

          if(board[i][j]==player&&board[i+1][j-1]==player&&board[i+2][j-2]==player&&board[i+3][j-3]==player&&board[i+4][j-4]==player){//反斜方向有五颗连续的棋子

            winner=player;

            break;

          }

        }

      }

    }

  }

  system("cls");//清屏

  for(i=0;i<15;i++){

    for(j=0;j<15;j++){

      if(board[i][j]==0){

        cout<<"+ ";

      }

      else if(board[i][j]==1){

        cout<<"x ";

      }

      else{

        cout<<"o ";

      }

    }

    cout<

  }

  cout<<"Player "< <<" win!\n";//输出胜者

  getch();//按任意键继续

  return 0;

}

以上是我们的五子棋游戏代码的基本结构。通过这个程序,您可以编写一个简单而有趣的五子棋游戏。

  
  
下一篇: 命名的问题

评论区

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