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

为什么有的网站打不开 别的网站就可以打开公司注册费用与流程

为什么有的网站打不开 别的网站就可以打开,公司注册费用与流程,网站建设的工作流程,计算机网络技术课程目录 主函数test.c 菜单函数 选择实现 游戏函数 #xff08;函数调用#xff09; 打印棋盘数据 打印展示棋盘 玩家下棋 电脑下棋 判断输赢 循环 test.c总代码 头文件函数声明game.h 头文件的包含 游戏符号声明 游戏函数声明 game.h总代码 游戏函数ga…目录 主函数test.c 菜单函数 选择实现 游戏函数 函数调用 打印棋盘数据 打印展示棋盘  玩家下棋 电脑下棋 判断输赢 循环 test.c总代码  头文件函数声明game.h 头文件的包含 游戏符号声明 游戏函数声明 game.h总代码  游戏函数game.c  打印棋盘数据InitBoard 打印展示棋盘DisplayBoard  打印数据行 打印分割行 玩家下棋PlayerMove 展示棋盘DisplayBoard  电脑下棋ComputerMove 展示棋盘DisplayBoard  判断输赢IsWin 判断平局IsFull game.c总代码 拖了许久的三子棋游戏的实现今天来一步一步的实现三子棋游戏。 主函数test.c 菜单函数 void menu() {printf(***************************\n);printf(******* 1.Play ********\n);printf(******* 0.over ********\n);printf(***************************\n); } 选择实现 void menu() {printf(***************************\n);printf(******* 1.Play ********\n);printf(******* 0.over ********\n);printf(***************************\n); } void game() {printf(开始游戏三子棋\n); } int main() {//打印菜单int input 0;do{menu();printf(请玩家选择\n);scanf(%d, input);switch (input)//分支语句{case 1://玩游戏{game();break;}case 0://结束游戏{printf(游戏结束\n);break;}default:{printf(输入错误请重新选择\n);break;}}} while (input); } 以上游戏的菜单和游戏选择我们曾在玩数字游戏中写过大家可以回顾复习一下。 游戏函数 函数调用 打印棋盘数据 打印棋盘我们需要创建二维数组存放棋盘数据。 char board[ROW][COL];//创建一个二维数组行和列我们需要创建一个函数InitBoard功能是初始化棋盘数据。 InitBoard(board,ROW,COL);//把数组 数组的行和列都传过去 打印展示棋盘  打印棋盘  DisplayBoard(board,ROW,COL); 玩家下棋 PlayerMove(board,ROW,COL); 电脑下棋 ComputerMove(board, ROW, COL); srand((unsigned int)time(NULL));//产生随机数 //随机数的产生我们在前面猜数字游戏已经讲解过了忘了的的小朋友可以去看看。 判断输赢 玩家赢——函数返回*电脑赢——函数返回#平局——函数返回Q以上三种都跳出了循环只有游戏继续——返回C——继续循环  Iswin(board, ROW, COL); char ret0; ret Iswin(board, ROW, COL); if (ret ! C) {break; } if (ret *){printf(玩家赢\n);}if (ret #){printf(电脑赢\n);}if (ret Q){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);}if (ret #){printf(电脑赢\n);}if (ret Q){printf(平局\n);} } test.c总代码  #define _CRT_SECURE_NO_WARNINGS 1 #includegame.h void menu() {printf(***************************\n);printf(******* 1.Play ********\n);printf(******* 0.over ********\n);printf(***************************\n); } //判断输赢 //玩家赢——返回* //电脑赢——返回# //平局——Q // 以上三种都跳出了循环 //游戏继续——C //继续循环 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);}if (ret #){printf(电脑赢\n);}if (ret Q){printf(平局\n);} } int main() {//打印菜单int input 0;srand((unsigned int)time(NULL));//产生随机数do{menu();printf(请玩家选择\n);scanf(%d, input);switch (input)//分支语句{case 1://玩游戏{printf(开始游戏\n);game();break;}case 0://结束游戏{printf(游戏结束\n);break;}default:{printf(输入错误请重新选择\n);break;}}} while (input); } 头文件函数声明game.h 头文件的包含 在我们写代码的过程中会调用库函数需要包含头文件和声明函数。 所以我们将所有函数声明和头文件放到我们.h 文件中。 当然在其他.c文件需要使用时我们只需要包含 我们创造的 头文件game.h 即可。  //#includegame.h #includestdio.h #includetime.h #includestdlib.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); int IsFull(char board[ROW][COL], int row, int col); game.h总代码  #define _CRT_SECURE_NO_WARNINGS 1 #pragma once #includestdio.h #includetime.h #includestdlib.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); int IsFull(char board[ROW][COL], int row, int col); 游戏函数game.c  分析一下棋盘。 棋盘分为 数据行和分割行 。数据行落子在棋盘上每一个棋盘上的位置对应二维数组中的一个数组元素。在还未 落子   在棋盘上的时候最开始棋盘上的数据初始化为空格 分割行有行和列。 分析完棋盘我们要将棋盘打印出来也就是把数据行和分割行打印出来我们需要拆分 。 数据行我们拆分为  空格和 | 分割行我们拆分为   ----和 |  注意分割行没有最后一列和最后一行用分支语句来控制。  打印棋盘数据InitBoard 我们将数组的参数传递给了函数InitBoard。接下来利用遍历二维数组元素把数组中的元素初始化(用赋值运算符)为 空格 初始化空格注意是 单引号 #includegame.h 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] ;//初始化为空格//字符单引号}} } 打印展示棋盘DisplayBoard  注意要换行注意数据行和分割行的空位大小要一致注意使用行和列循环棋盘被改变格式3*3改为10*10也不会错乱。 打印数据行 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( , 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(|);}}} } 棋盘效果如下 玩家下棋PlayerMove 注意设置限制条件_不能超出棋盘范围 注意棋盘是数组数组的下标是从0开始的。 注意循环,下棋成功break跳出循环。 void PlayerMove(char board[ROW][COL], int row, int col) {int x 0;int y 0;while (1){//先让玩家下棋printf(请输入要下棋的坐标:);scanf(%d %d, x, y);//不能超出棋盘范围if (x 1 x row y col y1){if (board[x - 1][y - 1] )//数组下标要从开始{board[x - 1][y - 1] *;}else{printf(该坐标已被占用请输入其他坐标\n);}}else{printf(坐标超出棋盘范围请重新输入\n);}} } 展示棋盘DisplayBoard  电脑下棋ComputerMove 随机数的产生要掌握  void ComputerMove(char board[ROW][COL], int row, int col) {printf(电脑下棋\n);int x 0;int y 0;while (1){x rand() % row;y rand() % col;//产生随机值if (board[x][y] ){board[x][y] #;break;}} } 展示棋盘DisplayBoard  判断输赢IsWin 玩家赢——函数返回*电脑赢——函数返回#平局——函数返回Q以上三种都跳出了循环只有游戏继续——返回C——继续循环  产生以上的结果的条件我们来分析以下 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][1] ! )//循环1{return board[i][1];}if (board[0][i] board[1][i] board[1][i] board[2][i] board[1][i] ! )//循环2{return board[1][i];}if (board[0][0] board[1][1] board[1][1] board[2][2] board[1][1] ! )//循环3{return board[1][1];}if (board[2][2] board[1][1] board[1][1] board[0][2] board[1][1] ! ){return board[1][1];}if (IsFull(board, row, col))//返回1真执行返回0假不执行{return Q;}//如果以上情况均不是return C;} } 判断平局IsFull if (IsFull(board, row, col))//返回1真执行返回0假不执行 {return Q; } 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; } game.c总代码 #define _CRT_SECURE_NO_WARNINGS 1 #includegame.h 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] ;//初始化为空格}} }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){int j 0;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;while (1){//先让玩家下棋printf(请输入要下棋的坐标:);scanf(%d %d, x, y);//不能超出棋盘范围if (x 1 x row y col y1){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);int x 0;int y 0;while (1){x rand() % row;y rand() % col;//产生随机值if (board[x][y] ){board[x][y] #;break;}} }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][1] ! )//循环1{return board[i][1];}if (board[0][i] board[1][i] board[1][i] board[2][i] board[1][i] ! )//循环2{return board[1][i];}if (board[0][0] board[1][1] board[1][1] board[2][2] board[1][1] ! )//循环3{return board[1][1];}if (board[2][2] board[1][1] board[1][1] board[0][2] board[1][1] ! ){return board[1][1];}if (IsFull(board, row, col))//返回1真执行返回0假不执行{return Q;}//如果以上情况均不是return C;} }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; } ✔✔✔✔✔最后感谢大家的阅读如有不足和错误欢迎指正。 代码---------→【gitee:https://gitee.com/TSQXG】 联系---------→【邮箱2784139418qq.cqq
http://wiki.neutronadmin.com/news/172143/

相关文章:

  • 咖啡厅网站开发目标做国外网站需要多少钱
  • 网站建设 图片问题网站策划方案800字
  • 华容网站做网站美工收费
  • 增加网站收录杭州网站制作方法
  • 商城型企业网站的功能wordpress转移域名
  • 深圳网站建设报价网站开发非常之旅:ajax从入门到精通 pdf
  • 湖南网站建设小公司wordpress网络报名系统
  • 建设电商网站需要什么硬件佛山网站建设找哪家
  • 设计网站如何推广网站的数据库怎么备份
  • 做网站一般多少盗版视频网站怎么做
  • 网站域名的作用搞外贸一般是干什么的
  • 一站式网站建设顾问男科医院网站开发策划
  • 如何创建自己的网站链接已有网站备案更换idc 多久
  • 网站做404是什么意思如何做网站访问量的统计
  • 一般做个网站要多少钱站长查询站长工具
  • 公司内部网站的作用网站建设需求信息
  • 邢台外贸网站建设做一个网站的完整教程
  • 企业网站建设中图片优化的方法网站版面布局设计的原则
  • apmserv访问本地网站国外门户网站设计
  • ssc网站开发建网站哪家划算
  • 电邮注册网站企业宽带解决方案
  • 成都市建设招标网站免费的设计软件有哪些
  • 往建设厅网站上传东西wordpress页眉显示购物车
  • 国际旅游网站设计报告网站二级分类
  • 网站文案案例天元建设集团有限公司咋样
  • 成都专业做网站的公司有哪些武威建设局网站
  • 免费网站软件app大全网站子站怎么做、
  • dogip网站开发seo点击工具帮你火21星热情
  • 医院营销型网站建设教师可以做网站吗
  • 大岭山镇网站建设wordpress php页面跳转