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

辽宁网站建设it运维需要学什么

辽宁网站建设,it运维需要学什么,门户网站开发申请,可以进行网站外链建设的有五子棋的历史背景#xff1a; 五子棋起源于中国#xff0c;是全国智力运动会竞技项目之一#xff0c;是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子#xff0c;下在棋盘直线与横线的交叉点上#xff0c;先形成五子连珠者获胜。五子棋容易上手#xff0c…五子棋的历史背景 五子棋起源于中国是全国智力运动会竞技项目之一是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子下在棋盘直线与横线的交叉点上先形成五子连珠者获胜。五子棋容易上手老少皆宜而且趣味横生引人入胜。它不仅能增强思维能力提高智力而且富含哲理有助于修身养性。不难看出五子棋是我们中华民族发明的我们必须了解他作为程序员我们更加要懂得如何把五子棋的代码给敲出来我研究了一天了调试了无数次修改了无数错误到最后运行成功的那一刹那我就很开心就想以博客的形式分享给大家一.设计过程步骤ps:整个五子棋一共有三个文件200多行代码不复杂多琢磨很好懂分为text.cgame.hgame.c文件在最后会给出完整代码。1.初始化二维数组为了数组里面存放的每个数是我们想初始化的我们初始化一个二维数组(方阵的格式即 n*n)用来存放棋子里面的元素可以按照我们的意愿来初始化在此代码中将数组中每个元素初始化为一个空格。#define ROW 5 #define COL 5 void InitBoard(char board[ROW][COL], int row, int col) {int i 0; int j 0;for (i 0; i ROW; i){for (int j 0; j COL; j){board[i][j] ;}} } 2.构造一个棋盘在初始化一个数组后的基础上我们来构造一个棋盘使得整个代码的结构更加清晰可读性高。#define ROW 5 #define COL 5 void DisplayBoard(char board[ROW][COL], int row, int col) {int i 0;int j 0;for (i 0; i row; i){for(j0;jcol;j){printf( %c , board[i][j]);//注意%c的左右是有两个空格的if (j col -1)//最后一列不打印|也就是打印4个|只是为了美观不加也行见下图printf(|);}printf(\n);if (i row - 1)//最后一行不进行打印---和|见下图{int j 0;for (j 0; j col; j){printf(---);if (j col - 1)//和上面一样见下图printf(|);}printf(\n);}} }3.玩家走法//玩家 void PlayerMove(char board[ROW][COL], int row, int col) {int x 0;int y 0;printf(玩家走:);while (1){printf(请输入下棋的坐标\n);scanf_s(%d %d, x, y);//判断坐标的合法性if (x 1 x row y 1 y col){//下棋//坐标是否被占用if ( board[x - 1][y - 1]) //等号量变也可以调换我这样写要是出错那编译器会提示错误如果换过来的话那就不会提示错误了这样找bug可能会很难受 //如果是空格的话这个位置就是空的可以下棋{board[x - 1][y - 1] *;break;}else{printf(坐标被占用请重新输入\n);}}else{printf(坐标非法请重新选择\n);}} }4.电脑随机下棋//电脑 void ComputerMove(char board[ROW][COL], int row, int col) { printf(电脑走:\n);while (1){int x rand() % ROW;//rand是根据系统的情况来自动生成一个随机数int y rand() % COL;//判断占用if (board[x][y] ){board[x][y] #;break;}} }5.判断是否能分出胜负//判断游戏是否有输赢 char 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][2] board[i][3] board[i][3] board[i][4] 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[2][i] board[3][i] board[3][i] board[4][i] board[1][i] ! ){return board[i][1];}}//判断\对角线元素是否相等if (board[0][0] board[1][1] board[1][1] board[2][2]board[2][2] board[3][3]board[3][3] board[4][4] board[1][1]! ){return board[1][1];}//判断/对角线元素是否相等if ( board[4][0] board[3][1] board[3][1] board[2][2] board[2][2] board[1][3] board[1][3] board[0][4] board[1][1]! ){return board[1][1];}6.判断是否平局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; }//判断平局//如果棋盘满了则返回1不满返回0int ret IsFull(board, row, col);if (ret 1){return Q;}return C;以下是game.h文件的代码#pragma once //头文件的包含 #includestdio.h #includetime.h #includestdlib.h //符号定义 #define ROW 5 #define COL 5//函数声明 //初始化棋盘的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); 以下是text.c文件的代码#includegame.h void menu() {printf(*******************************\n);printf(********* 1.play ************\n);printf(********* 0.exit ************\n);printf(*******************************\n);} void game() {//储存数据--二维数组char board[ROW][COL];//初始化棋盘为空格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);elseprintf(平局\n);DisplayBoard(board, ROW, COL);} int main() {srand((unsigned int) time(NULL));int input 0;do{menu();printf(请选择:);scanf_s(%d, input);switch (input){case 1:game();break;case 0:printf(退出游戏\n);break;default:printf(选择错误重新选择\n);break;}} while (input);return 0; }二.完整代码game.h文件#pragma once //头文件的包含 #includestdio.h #includetime.h #includestdlib.h //符号定义 #define ROW 5 #define COL 5//函数声明 //初始化棋盘的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);game.c文件#includegame.h void InitBoard(char board[ROW][COL], int row, int col) {int i 0; int j 0;for (i 0; i ROW; i){for (int j 0; j COL; j){board[i][j] ;}}}void DisplayBoard(char board[ROW][COL], int row, int col) {int i 0;int j 0;for (i 0; i row; i){for(j0;jcol;j){printf( %c , board[i][j]);if (j col -1)printf(|);}printf(\n);if (i row - 1){int j 0;for (j 0; j col; j){printf(---);if (j col - 1)printf(|);}printf(\n);}//printf(---|---|---\n);} } //玩家 void PlayerMove(char board[ROW][COL], int row, int col) {int x 0;int y 0;printf(玩家走:);while (1){printf(请输入下棋的坐标\n);scanf_s(%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) { printf(电脑走:\n);while (1){int x rand() % ROW;int 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; } //判断游戏是否有输赢 char 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][2] board[i][3] board[i][3] board[i][4] 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[2][i] board[3][i] board[3][i] board[4][i] board[1][i] ! ){return board[i][1];}}//判断\对角线if (board[0][0] board[1][1] board[1][1] board[2][2] board[2][2] board[3][3] board[3][3] board[4][4] board[1][1]! ){return board[1][1];}//判断/对角线if ( board[4][0] board[3][1] board[3][1] board[2][2] board[2][2] board[1][3] board[1][3] board[0][4] board[1][1]! ){return board[1][1];}//判断平局//如果棋盘满了则返回1不满返回0int ret IsFull(board, row, col);if (ret 1){return Q;}return C;} 以下是text.c文件#includegame.h void menu() {printf(*******************************\n);printf(********* 1.play ************\n);printf(********* 0.exit ************\n);printf(*******************************\n);} void game() {//储存数据--二维数组char board[ROW][COL];//初始化棋盘为空格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);elseprintf(平局\n);DisplayBoard(board, ROW, COL);} int main() {srand((unsigned int) time(NULL));int input 0;do{menu();printf(请选择:);scanf_s(%d, input);switch (input){case 1:game();break;case 0:printf(退出游戏\n);break;default:printf(选择错误重新选择\n);break;}} while (input);return 0; }最后大家有问题可以指出来关个注点个赞评个论我们一起进步 2023.02.09 From努力进大厂的新青年
http://www.dnsts.com.cn/news/216382.html

相关文章:

  • 如何为一个网站做短连接网站建设公司crm系统
  • 洛南网站建设适合穷人翻身的10个行业
  • 推荐几个好的网站wordpress Suffusion
  • 做网站大概要长沙债务优化公司
  • 搭建钓鱼网站教程湛江人才网招聘信息网
  • 淮南专业网站建设邢台公司做网站多少钱
  • 网站在建设中 英语wordpress 4.9中文
  • 上海有哪些网站设计公司做图解的网站
  • 深圳专业做网站排名多少钱先有域名才可以做网站吗
  • html5 网站天津做系统集成的公司网站
  • 网站的页面风格是什么建筑网站编辑工作内容
  • 成都网站建设类岗位常州设计公司排名
  • 跨境电商网站建设开发响水做网站哪家好
  • 用ps怎么做网站导航条珠海科技网站建设
  • 长沙seo网站邢台高端网站建设价格
  • 帝国cms网站地址犀牛云做网站推广怎么样
  • 做网站对企业的好处手机网站接入微信登录
  • 广东源江建设集团有限公司网站甘肃省两学一做专题网站
  • 网站和网页不同吗wordpress 在线游戏网站
  • 网站伪静态全站伪静态仿牌外贸网站
  • 山东省住房和城乡建设厅定额站子网站WordPress插件错误
  • 网站在当地做宣传用织梦做的网站好还是cms
  • 新站如何快速收录wordpress还原恢复数据库备份
  • 有哪个网站可以学做早餐吃的爱南宁app下载二维码
  • 怎么制作手机网站平台网站的图片怎么更换
  • 加工厂做网站网泰网站建设网络推广
  • xp系统中做网站服务器吗邹平市建设局官方网站
  • 互联网网站开发创业计划书数字资产交易网站建设
  • 在校学生兼职网站建设网站开发开题报告范文2019
  • 建设网站0基础需要学什么中卫平面设计师招聘