当前位置: 首页 > news >正文

最便宜的网站建设公司南安seo快速排名

最便宜的网站建设公司,南安seo快速排名,网站建站需要什么,网站建设基础问题大家好#xff0c;我是你们熟悉的恒川 今天我们用C语言来实现三子棋 实现的过程很难#xff0c;但我们一定要不放弃 三子棋1. 配置运行环境2. 三子棋游戏的初步实现2.1 建立三子棋分布模块2.2 创建一个名为board的二维数组并进行初始化2.3 搭建棋盘3. 接下来该讨论的事情3.1 … 大家好我是你们熟悉的恒川 今天我们用C语言来实现三子棋 实现的过程很难但我们一定要不放弃 三子棋1. 配置运行环境2. 三子棋游戏的初步实现2.1 建立三子棋分布模块2.2 创建一个名为board的二维数组并进行初始化2.3 搭建棋盘3. 接下来该讨论的事情3.1 目前现在三子棋整体代码的样子3.1.1 game.h3.1.2 game.c3.1.3 三子棋做法.c3.2 玩家下棋打印新的棋盘3.3 电脑下棋并打印新的棋盘3.4 判断最终的结果4. 完整三子棋游戏程序的实现4.1 game.h4.2 game.c4.3 三子棋做法.c1. 配置运行环境 本游戏用到了三个文件 两个源文件三子棋做法.c game.c 一个头文件game.h 2. 三子棋游戏的初步实现 2.1 建立三子棋分布模块 想要做好游戏首要任务就是要把模块想好。 先打印一个游戏菜单 void menu() {printf(********************************\n);printf(********** 1.play ***********\n);printf(********** 0.exit ***********\n);printf(********************************\n); }玩家选择是否1\0是否进入游戏 #include stdio.h void menu() {printf(********************************\n);printf(********** 1.play ***********\n);printf(********** 0.exit ***********\n);printf(********************************\n); } int main() {int input 0;do{menu();printf(请选择:);scanf(%d, input);switch (input){case 1:printf(三子棋\n);break;case 2:printf(选择错误请重新选择\n);break;default:break;}} while (input);return 0; }2.2 创建一个名为board的二维数组并进行初始化 数组类型为char char board[ ][ ] { 0 }; void InitBoard(char board[ROW][COL], int row, int col) {int i 0;for (i 0; i row; i){int j 0;for (j 0; j col; j){board[i][j] ;}} }另一种写法但要包含头文件string.h memset(board[0][0], , row * col * sizeof(board[0][0]));2.3 搭建棋盘 在game.c文件中实现棋盘的搭建功能 错误代码的两种形式 1. void DisplayBoard(char board[ROW][COL], int row, int col) {int i 0;int j 0;for (i 0; i row; i){for (j 0; j col; j){printf(%c , board[i][j]);}printf(\n);} }2. void DisplayBoard(char board[ROW][COL], int row, int col) {int i 0;int j 0;for (i 0; i row; i){printf( %c | %c | %c \n, board[i][0], board[i][1], board[i][2]);if(i row-1)printf(---|---|---\n);} }能正确搭建功能的棋盘可以灵活创建棋盘大小改变宏定义的变量 void DisplayBoard(char board[ROW][COL], int row, int col) {int i 0;for (i 0; i row; i){//打印数据int j 0;for (j 0; j col; j){printf( %c , board[i][j]);if(jcol-1)printf(|);}printf(\n);//打印分割的行if (i row - 1){for (j 0; j col; j){printf(---);if (j col - 1)printf(|);}printf(\n);}} }该代码的目的是构建完成打印出的棋盘大概形状就是一个“井”框架。 3. 接下来该讨论的事情 玩家下棋打印棋盘判断输赢电脑下棋打印棋盘判断输赢 3.1 目前现在三子棋整体代码的样子 3.1.1 game.h //头文件的包含 #include string.h #include stdio.h#define ROW 3 #define COL 3//函数的声明//初始化棋盘 void InitBoard(char board[ROW][COL], int row, int col);//打印棋盘 void DisplayBoard(char board[ROW][COL], int row, int col); 3.1.2 game.c #include game.hvoid InitBoard(char board[ROW][COL], int row, int col) {int i 0;for (i 0; i row; i){int j 0;for (j 0; j col; j){board[i][j] ;}}//memset(board[0][0], , row*col*sizeof(board[0][0])); } void DisplayBoard(char board[ROW][COL], int row, int col) {int i 0;int j 0;for (i 0; i row; i){int j 0;for (j 0; j col; j){printf( %c , board[i][j]);if(jcol-1)printf(|);}printf(\n);if (i row - 1){for (j 0; j col; j){printf(---);if(jcol-1)printf(|);}}printf(\n);} }3.1.3 三子棋做法.c #include game.hvoid menu() {printf(*******************************\n);printf(******** 1. play ******\n);printf(******** 0. exit ******\n);printf(*******************************\n); }void game() {//存放数据需要一个3*3的二维数组char board[ROW][COL] {0};//初始化棋盘InitBoard(board, ROW, COL);//显示棋盘DisplayBoard(board, ROW, COL);while (1){//玩家下棋//打印棋盘//判断输赢//电脑下棋//打印棋盘//判断输赢} }int main() {int input 0;do{menu();printf(请选择:);scanf(%d, input);switch (input){case 1:game();break;case 0:printf(退出游戏\n);break;default:printf(选择错误重新选择\n);break;}} while (input);return 0; }3.2 玩家下棋打印新的棋盘 在game文件中实现对棋盘上空位的判断防止一个位置多次下棋并且显示出空位给玩家下棋之后打印出新的棋盘。 void player_move(char board[ROW][COL], int row, int col) {int x 0;int y 0;printf(玩家下棋\n);while (1){printf(请输入坐标:);scanf(%d %d, x, y);if (x 1 x row y 1 y col){//下棋if (board[x - 1][y - 1] ){board[x - 1][y - 1] *;break;}else{printf(该坐标被占用请重新输入\n);}}else{printf(坐标非法请重新输入\n);}} }3.3 电脑下棋并打印新的棋盘 玩家选择一个位置打印后电脑通过rand()函数产生一个在限定范围内的的随机值并产生一个随机坐标并在相应坐标打印一个字符电脑下棋过程滞后打印新的棋盘。 void computer_move(char board[ROW][COL], int row, int col) {int x 0;int y 0;printf(电脑下棋:\n);while (1){x rand() % row;//模3结果为0~2y rand() % col;//模3结果为0~2if (board[x][y] ){board[x][y] #;break;}} }3.4 判断最终的结果 在多次进行 玩家—电脑—玩家…的循环之后产生最终的结果这时候对结果进行分析相同的3个字符相连行 列 对角线即为胜利如果棋盘已满也为产生胜利者即为平局。 char is_win(char board[ROW][COL], int row, int col) {int i 0;//判断行for (i 0; i row; i){if (board[i][0] board[i][1] board[i][1] board[i][2] board[i][1] ! ){return board[i][1];}}//判断列for (i 0; i col; i){if (board[0][i] board[1][i] board[1][i] board[2][i] board[1][i] ! ){return board[1][i];}}//对角线if (board[0][0] board[1][1] board[1][1] board[2][2] board[1][1] ! ){return board[1][1];}if (board[0][2] board[1][1] board[1][1] board[2][0] board[1][1] ! ){return board[1][1];}//判断平局if (if_full(board, row, col) 1){return Q;}//继续return C; }上面代码第一段判断棋盘是否满了把结果返回给第二段代码中的函数第二段代码中的函数判断最后的结果玩家赢 \ 电脑赢 \平局并把相应的字符返回到 三子棋做法.c文件中判断并打印最后结果的函数中去。 打印结果 如果结果是C将不进入if判断语句中。 if (ret *){printf(玩家赢了\n);}else if (ret #){printf(电脑赢了\n);}else{printf(平局\n);}4. 完整三子棋游戏程序的实现 4.1 game.h //头文件的包含 #include string.h #include stdio.h #include stdlib.h #include time.h#define ROW 3 #define COL 3//函数的声明//初始化棋盘 void InitBoard(char board[ROW][COL], int row, int col);//打印棋盘 void DisplayBoard(char board[ROW][COL], int row, int col);//玩家下棋 void PlayerMove(char board[ROW][COL], int row, int col);//电脑下棋 void ComputerMove(char board[ROW][COL], int row, int col);//判断输赢 char IsWin(char board[ROW][COL],int row, int col);4.2 game.c #include game.hvoid InitBoard(char board[ROW][COL], int row, int col) {int i 0;for (i 0; i row; i){int j 0;for (j 0; j col; j){board[i][j] ;}}//memset(board[0][0], , row*col*sizeof(board[0][0])); }void DisplayBoard(char board[ROW][COL], int row, int col) {int i 0;int j 0;for (i 0; i row; i){int j 0;for (j 0; j col; j){printf( %c , board[i][j]);if (j col - 1)printf(|);}printf(\n);if (i row - 1){for (j 0; j col; j){printf(---);if (j col - 1)printf(|);}}printf(\n);} }void PlayerMove(char board[ROW][COL], int row, int col) {int x 0;int y 0;printf(玩家下棋:\n);while (1){printf(请输入要下棋的坐标:);scanf(%d %d, x, y);if (x 1 x row y 1 y col){if (board[x - 1][y - 1] ){board[x - 1][y - 1] *;break;}else{printf(坐标被占用重新输入\n);}}else{printf(坐标非法请重新输入\n);}} }//电脑随机下棋 void ComputerMove(char board[ROW][COL], int row, int col) {int x 0;int y 0;printf(电脑下棋:\n);while (1){x rand() % row;y rand() % col;if (board[x][y] ){board[x][y] #;break;}} }int IsFull(char board[ROW][COL], int row, int col) {int i 0;int j 0;for (i 0; i row; i){for (j 0; j col; j){if (board[i][j] ){return 0;}}}return 1; }//判断输赢 //玩家赢 - * //电脑赢 - # //平局 - Q //继续 - Cchar IsWin(char board[ROW][COL], int row, int col) {int i 0;for (i 0; i row; i){if (board[i][0] board[i][1] board[i][1] board[i][2] board[i][0] ! ){return board[i][0];}}for (i 0; i col; i){if (board[0][i] board[1][i] board[1][i] board[2][i] board[0][i] ! ){return board[0][i];}}if (board[0][0] board[1][1] board[1][1] board[2][2] board[1][1] ! ){return board[1][1];}if (board[0][2] board[1][1] board[1][1] board[2][0] board[1][1] ! ){return board[1][1];}//判断是否平局if (IsFull(board, row, col)){return Q;}//游戏继续return C; } 4.3 三子棋做法.c #include game.hvoid menu() {printf(*******************************\n);printf(******** 1. play ******\n);printf(******** 0. exit ******\n);printf(*******************************\n); }void game() {//存放数据需要一个3*3的二维数组char board[ROW][COL] { 0 };//初始化棋盘InitBoard(board, ROW, COL);//显示棋盘DisplayBoard(board, ROW, COL);char ret 0;while (1){//玩家下棋PlayerMove(board, ROW, COL);DisplayBoard(board, ROW, COL);//判断输赢ret IsWin(board, ROW, COL);if (ret ! C){break;}//电脑下棋ComputerMove(board, ROW, COL);DisplayBoard(board, ROW, COL);//判断输赢ret IsWin(board, ROW, COL);if (ret ! C){break;}}if (* ret){printf(玩家赢\n);}else if (# ret){printf(电脑赢\n);}else if (Q ret){printf(平局\n);} }int main() {int input 0;srand((unsigned int)time(NULL));do{menu();printf(请选择:);scanf(%d, input);switch (input){case 1:game();break;case 0:printf(退出游戏\n);break;default:printf(选择错误重新选择\n);break;}} while (input);return 0; } 如果这份博客对大家有帮助希望各位给恒川一个免费的点赞作为鼓励并评论收藏一下谢谢大家 制作不易如果大家有什么疑问或给恒川的意见欢迎评论区留言。
文章转载自:
http://www.morning.clybn.cn.gov.cn.clybn.cn
http://www.morning.gwjnm.cn.gov.cn.gwjnm.cn
http://www.morning.tpnxj.cn.gov.cn.tpnxj.cn
http://www.morning.tkchg.cn.gov.cn.tkchg.cn
http://www.morning.cpqwb.cn.gov.cn.cpqwb.cn
http://www.morning.kqylg.cn.gov.cn.kqylg.cn
http://www.morning.bfcrp.cn.gov.cn.bfcrp.cn
http://www.morning.dgwrz.cn.gov.cn.dgwrz.cn
http://www.morning.blznh.cn.gov.cn.blznh.cn
http://www.morning.ydwsg.cn.gov.cn.ydwsg.cn
http://www.morning.dywgl.cn.gov.cn.dywgl.cn
http://www.morning.stprd.cn.gov.cn.stprd.cn
http://www.morning.tqgx.cn.gov.cn.tqgx.cn
http://www.morning.xqltq.cn.gov.cn.xqltq.cn
http://www.morning.rbnnq.cn.gov.cn.rbnnq.cn
http://www.morning.bmlcy.cn.gov.cn.bmlcy.cn
http://www.morning.qztsq.cn.gov.cn.qztsq.cn
http://www.morning.ybgyz.cn.gov.cn.ybgyz.cn
http://www.morning.phxdc.cn.gov.cn.phxdc.cn
http://www.morning.cpqqf.cn.gov.cn.cpqqf.cn
http://www.morning.hphqy.cn.gov.cn.hphqy.cn
http://www.morning.pmftz.cn.gov.cn.pmftz.cn
http://www.morning.lqypx.cn.gov.cn.lqypx.cn
http://www.morning.qbgdy.cn.gov.cn.qbgdy.cn
http://www.morning.qtfss.cn.gov.cn.qtfss.cn
http://www.morning.hmbtb.cn.gov.cn.hmbtb.cn
http://www.morning.pdmml.cn.gov.cn.pdmml.cn
http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com
http://www.morning.smfbw.cn.gov.cn.smfbw.cn
http://www.morning.pwfwk.cn.gov.cn.pwfwk.cn
http://www.morning.hrjrt.cn.gov.cn.hrjrt.cn
http://www.morning.rkwwy.cn.gov.cn.rkwwy.cn
http://www.morning.wcrcy.cn.gov.cn.wcrcy.cn
http://www.morning.rkfxc.cn.gov.cn.rkfxc.cn
http://www.morning.nfbkz.cn.gov.cn.nfbkz.cn
http://www.morning.mgnrc.cn.gov.cn.mgnrc.cn
http://www.morning.xlbyx.cn.gov.cn.xlbyx.cn
http://www.morning.lndongguan.com.gov.cn.lndongguan.com
http://www.morning.snjpj.cn.gov.cn.snjpj.cn
http://www.morning.nj-ruike.cn.gov.cn.nj-ruike.cn
http://www.morning.fbfnk.cn.gov.cn.fbfnk.cn
http://www.morning.kbdrq.cn.gov.cn.kbdrq.cn
http://www.morning.bkkgt.cn.gov.cn.bkkgt.cn
http://www.morning.rgmls.cn.gov.cn.rgmls.cn
http://www.morning.jcxgr.cn.gov.cn.jcxgr.cn
http://www.morning.tsyny.cn.gov.cn.tsyny.cn
http://www.morning.nlkhr.cn.gov.cn.nlkhr.cn
http://www.morning.tmpsc.cn.gov.cn.tmpsc.cn
http://www.morning.xlmpj.cn.gov.cn.xlmpj.cn
http://www.morning.wmhqd.cn.gov.cn.wmhqd.cn
http://www.morning.lthpr.cn.gov.cn.lthpr.cn
http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn
http://www.morning.jhrlk.cn.gov.cn.jhrlk.cn
http://www.morning.lmjkn.cn.gov.cn.lmjkn.cn
http://www.morning.ryxbz.cn.gov.cn.ryxbz.cn
http://www.morning.qwbht.cn.gov.cn.qwbht.cn
http://www.morning.fbrshjf.com.gov.cn.fbrshjf.com
http://www.morning.pjjkz.cn.gov.cn.pjjkz.cn
http://www.morning.hbkkc.cn.gov.cn.hbkkc.cn
http://www.morning.csxlm.cn.gov.cn.csxlm.cn
http://www.morning.ztrht.cn.gov.cn.ztrht.cn
http://www.morning.rlqqy.cn.gov.cn.rlqqy.cn
http://www.morning.mfltz.cn.gov.cn.mfltz.cn
http://www.morning.xgjhy.cn.gov.cn.xgjhy.cn
http://www.morning.datadragon-auh.cn.gov.cn.datadragon-auh.cn
http://www.morning.lyldhg.cn.gov.cn.lyldhg.cn
http://www.morning.tqpnf.cn.gov.cn.tqpnf.cn
http://www.morning.jkrrg.cn.gov.cn.jkrrg.cn
http://www.morning.xhjjs.cn.gov.cn.xhjjs.cn
http://www.morning.zycll.cn.gov.cn.zycll.cn
http://www.morning.zxwqt.cn.gov.cn.zxwqt.cn
http://www.morning.rmxgk.cn.gov.cn.rmxgk.cn
http://www.morning.lhxdq.cn.gov.cn.lhxdq.cn
http://www.morning.kzxlc.cn.gov.cn.kzxlc.cn
http://www.morning.yrflh.cn.gov.cn.yrflh.cn
http://www.morning.qynnw.cn.gov.cn.qynnw.cn
http://www.morning.haibuli.com.gov.cn.haibuli.com
http://www.morning.rszt.cn.gov.cn.rszt.cn
http://www.morning.zcmpk.cn.gov.cn.zcmpk.cn
http://www.morning.mlgsc.com.gov.cn.mlgsc.com
http://www.tj-hxxt.cn/news/265696.html

相关文章:

  • 设计师用什么做网站网站的分析与设计
  • 嘉兴做网站优化多少钱源码网站php
  • 有一个做ppt的网站wordpress 表单提交
  • 电子商务网站建设的认识的心得wordpress文章发布
  • 大良营销网站建设流程百度权重如何提升
  • 网站意识形态建设提升学历选择哪种方式好
  • wordpress构建企业网站公众号小程序开发公司
  • 广元市网站建设专业团队介绍文案
  • 重庆市城市建设规划官方网站潍坊做网站个人工作室
  • 汕头市国外网站建设公司我的世界怎么做赞助网站
  • php网站绑定域名wordpress google插件
  • 新手做网站流程正规seo一般多少钱
  • 淄博网站外包网站怎么加关键词做优化
  • 域名注册完成后如何做网站公众号开发和小程序开发哪个简单
  • 简述电子商务网站开发的基本流程沪深300指数基金排名
  • 做薆视频网站网站设计需求分析报告
  • 门户网站 移动端seo公司关键词
  • 北京高端网站定制公司哪家好律师免费咨询
  • 购物网站建设精英wordpress首页内容怎么修改
  • 厦门网站建设培训班徐州市建设工程
  • 网站模板欣赏网站的提交重置按钮怎么做
  • 网站建设那个网站好网站建设的目的及效益分析
  • 网站开发课设个人总结烟台开发区人才网招聘信息
  • 网站优化 代码优化竞网做的网站怎么样
  • 企业综合门户型网站网页设计与制作课程代码
  • 旅游网站建设方案预算公众号平台官网登录
  • 中国邮政做特产得网站wordpress 手册主题
  • 最新备案的网站wordpress 页面链接
  • 深圳外贸网站外贸网站建设中国建设银行重庆网站
  • 网站代理打开不用收费的软件