五子棋c++语言最简单代码,c++实现五子棋

  五子棋c++语言最简单代码,c++实现五子棋

  测试。丙:

  #define _CRT_SECURE_NO_WARNINGS

  #包含标准视频

  #包含" game.h "

  #包含windows.h

  #包含标准库

  #包含时间。h

  无效菜单()

  {

  printf( # # # # # # # # # # # # # # # # # \ n );

  printf( # # # 1。播放0。退出# # # # # # \ n );

  printf( # # # # # # # # # # # # # # # # # \ n );

  }

  无效游戏()

  {

  int board[Row][Col]={ };

  Initcheck(board,Row,Col);//初始化棋盘

  Putcheck(board,Row,Col);//输出棋盘

  srand((无符号)时间(空));

  菜单2();

  printf(请选择— //增加了谁先下载的模块

  (同Internationalorganizations)国际组织输入2;

  scanf(%d ,输入2);

  int w=0;

  如果(输入2==1)

  {

  int * p=board[0][0];

  int k=0;

  而(k行*列)

  {

  My_Part(p,Row,Col);

  k;//我下棋

  Putcheck(board,Row,Col);

  如果(k 2)

  w=Gudje(p,Row,Col);

  如果(w==1)

  打破;

  睡眠(1000);

  如果(k 9)

  {

  printf(机器已下:\ n’);

  报告_部分(p,行,列);

  k;//机器下棋

  Putcheck(board,Row,Col);//输出棋盘

  if (k 5)

  w=Gudje(p,Row,Col);

  如果(w==1)

  打破;

  }

  }

  如果(k==9 w==0)

  printf( -平——局-\ n );

  }

  其他

  {

  int * p=board[0][0];

  int k=0;

  而(k行*列)

  {

  睡眠(1000);

  printf(机器已下:\ n’);

  报告_部分(p,行,列);

  Putcheck(p,Row,Col);

  如果(k 2)

  w=Gudje(p,Row,Col);

  如果(w==1)

  打破;

  k;//我下棋

  如果(k 9)

  {

  My_Part(board,Row,Col);

  Putcheck(board,Row,Col);//输出棋盘

  k;//机器下棋

  if (k 5)

  w=Gudje(p,Row,Col);

  如果(w==1)

  打破;

  }

  }

  如果(k==9 w==0)

  printf( -平——局-\ n );

  }

  }

  int main()

  {

  int input=0;

  做

  {

  menu();

  printf(请输入-

  scanf(%d ,输入);

  开关(输入)

  {

  案例1:

  printf( -开始游戏-\ n );

  game();

  打破;

  案例0:

  printf( -成功退出游戏-\ n );

  默认值:

  printf(选择错误,重新选择\ n’);

  打破;

  }

  }而(输入);

  返回0;

  }game.h:

  #定义第3行

  #定义第3列

  #包含标准视频

  void init check(int board[Row][Col],int row,int Col);//初始化棋盘

  void put check(int board[Row][Col],int row,int Col);//输出棋盘

  void菜单2();//菜单二选择谁先手

  void My_Part(int *p,int row,int col);//我开始下棋

  void Report_Part(int* p,int row,int col);//机器随机下棋

  int Gudje(int* p,int row,int col);//判断输赢游戏。c

  #define _CRT_SECURE_NO_WARNINGS

  #包含" game.h "

  void init check(int board[Row][Col],int row,int col)

  {

  int I=0;

  int j=0;

  for(I=0;我我)

  {

  for(j=0;j colj)

  {

  board[I][j]=" ";

  }

  }

  }

  void put check(int board[Row][Col],int row,int col)

  {

  int I;

  int j;

  for(I=0;我划船;我)

  {

  for(j=0;j colj)

  {

  printf( %c ,board[I][j]);

  如果(j列1)

  printf( );

  }

  printf( \ n );

  for(j=0;j colj)

  {

  如果(我行-1)

  printf( _ _ _ _ _ _ );

  其他

  printf(" ");

  如果(j列1)

  printf( );

  }

  printf( \ n );

  }

  }

  void Menu2()//界面2

  {

  printf( # # # # # # # # # # # # # # # # # # # # # n );

  printf( # # 1。你先0。先报告# # \ n );

  printf( # # # # # # # # # # # # # # # # # # # # # n );

  }

  void My_Part(int *p,int row,int col)

  {

  printf(输入几行几列\ n’);

  int m=0,n=0;

  scanf(%d%d ,m,

  *(p(m-1)* col n-1)= # ;

  }

  void Report_Part(int* p,int row,int col)

  {

  while (1)

  {

  int m=rand()% row;

  int n=rand()% col 1;

  if (*(p m * col n)=")

  {

  *(p m * coln)= * ;

  打破;

  }

  }

  }

  int Gudje(int* p,int row,int col)

  {

  int I;

  for(I=0;我划船;i )//判断纵横

  {

  if(*(p I * col 0)==*(p I * col 1)*(p I * col 0)==*(p I * col 2)*(p I * col 0)== # )

  {

  printf(你赢了!\ n’);

  返回1;

  }

  if(*(p I * col 0)==*(p I * col 1)*(p I * col 0)==*(p I * col 2)*(p I * col 0)== * )

  {

  printf(机器赢了哦!\ n’);

  返回1;

  }

  }

  for(I=0;我coli )//判断纵横

  {

  if(*(p 0 *大肠)==*(p 1 *大肠)*(p 1 *大肠)==*(p 2 *大肠)*(p 0 *大肠)== # )

  {

  printf(你赢了!\ n’);

  返回1;

  }

  if(*(p 0 * coli)==*(p 1 * coli)*(p 1 * coli)==*(p 2 * coli)*(p 0 * coli)== *

  {

  printf(机器赢了哦!\ n’);

  返回1;

  }

  }

  if (*p==*(p 4) *(p 4)==*(p 8) *p==# )

  {

  printf(‘你赢了!\ n’);

  返回1;

  }

  else if(*(p 2)==*(p 4)*(p 4)==*(p 6)* p== * )

  {

  printf(‘机器赢了!\ n’);

  返回1;

  }

  其他

  返回0;

  }输出结果示例:

  因为代码基本都是自己完成的,不是最优的,很难理解。

  总结:

  1.写代码的时候可以把函数声明和函数定义分开,有利于编写、利用和理解。

  2.写代码不一定都是对的,但一定是实验。一些特殊情况是可以考虑和编写的,这才是一个程序员真正需要写好代码的。

  3.因为使用了全局变量,所以我觉得可以从五子棋推导出五子棋,但是因为输赢的判断是直接的,所以不能直接改变。

  希望在以后的学习中能找到更好的解决方法。

  转载请联系作者授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: