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

关于申请建设门户网站的做一家网站要多少钱

关于申请建设门户网站的,做一家网站要多少钱,网站优化seo是什么意思,layui+wordpress前言 大家已经和博主学习有一段时间了#xff0c;今天讲一个有趣的实战项目——三子棋 目录 前言 制作菜单 构建游戏选择框架 实现游戏功能 模块化编程 初始化棋盘 打印棋盘 玩家下棋 电脑下棋 时间戳#xff1a;推荐一篇 C语言生成随机数的方法_c语言随机数_杯浅…前言 大家已经和博主学习有一段时间了今天讲一个有趣的实战项目——三子棋 目录 前言 制作菜单 构建游戏选择框架 实现游戏功能 模块化编程 初始化棋盘 打印棋盘 玩家下棋 电脑下棋 时间戳推荐一篇 C语言生成随机数的方法_c语言随机数_杯浅的博客-CSDN博客 判断输赢 游戏逻辑实现 制作菜单 在玩游戏时我们在进入游戏都会有菜单选项选择开始游戏推出游戏等这些指令说到选择那么我们可以依据我们所学的循环和分支语句来先完成基本框架的设计。 首先我们进入游戏都是先显示选项做出选择并且在玩游戏时玩一局还想玩怎么办想一想我们前边的知识哪种结构符合先进入游戏出现菜单再循环这一需求那肯定是do…while的循环结构更符合那么我们就先使用函数来打印输出一个菜单选项 void menu() {printf(*****************************\n);printf(*****************************\n);printf(**********1.play^************\n);printf(**********0.exit^************\n);//菜单printf(*****************************\n);printf(*****************************\n); }int main {int a 0;do{menu();printf(请选择);scanf%d,a;}while(); return 0; } 构建游戏选择框架 游戏菜单已在屏幕上显示完成现在需要完成选择并且在玩游戏时玩一局还想玩怎么办。 这时候需要应用博主之前阐述的switch语句来实现 int main() {int input 0;do{menu();printf(PLEASE SELECT:);scanf(%d, input);switch(input){case 1:game(); //以上为界面的选择break;case 0:printf(Exit\n);break;default:printf(ERRO,PLEASE CHOOSE AGAIN\n);break;}} while (input);//while循环可以利用0为假其余为来实现用户可反复选择 //直到选到合适为止return 0; } 实现游戏功能 模块化编程 这里博主引入一个概念模块化编程。方便引用不会显得头重脚轻而且转为静态库不易被盗用。这里需要创建三个文件test.c   game.c   game.h    test.c:是用来实现游戏逻辑    game.c:用来实现游戏功能的函数   game.h:用来申明游戏功能函数可引用 传统方式编程所有的函数均放在main.c里若使用的模块比较多则一个文件内会有很多的代码不利于代码的组织和管理而且很影响编程者的思路。 模块化编程把各个模块的代码放在不同的.c文件里在.h文件里提供外部可调用函数的声明其它.c文件想使用其中的代码时只需要#include XXX.h文件即可。使用模块化编程可极大的提高代码的可阅读性、可维护性、可移植性等。 传统方式编程所有的函数均放在main.c里若使用的模块比较多则一个文件内会有很多的代码不利于代码的组织和管理而且很影响编程者的思路。 模块化编程把各个模块的代码放在不同的.c文件里在.h文件里提供外部可调用函数的声明其它.c文件想使用其中的代码时只需要#include XXX.h文件即可。使用模块化编程可极大的提高代码的可阅读性、可维护性、可移植性等! 总的来说就是当你代码比较多的时候就可以采用模块化编程来完成这个程序。  三子棋我们需要在棋盘中输入要下的位置相当于是一个三乘三的数组这里我们就用到了二维数组的知识那么游戏开始前需要我们先对棋盘初始化使数组中的元素都为空格那么就是数组初始化赋值只用循环遍历每一个元素并赋予空格就ok了。 注意这里设置函数的时候因为用到二维数组所以函数的形参为数组名行 列 void initboard(char board[row][col], int hang, int lie) {int i 0;int j 0;for (i 0; i hang; i){for (j 0; j lie; j){board[i][j] ;} printf(\n);} } 打印棋盘 将置空的二维数组用线隔开 void displayboard(char board[row][col], int hang, int lie) //可以随意控制棋盘大小 {int i 0;for (i 0; i hang; i){int j 0;for (j 0; j lie; j){printf( %c ,board[i][j]);if (j lie - 1)//为了不让最后一行打印‘|’printf(|);}printf(\n);if (i hang - 1){int j 0;for (j 0; j lie; j){printf(---);if (j lie - 1)printf(|);}printf(\n);}} }效果图 玩家下棋 玩家下棋的话使用*标志利用坐标来将“空格”替换 void player(board[row][col],int hang,int lie) {int x 0;int y 0; printf(玩家开始下棋); scanf(%d %d,a,b); if(x1x3y1y3) { if(board[x-1][y-1] ){board[x-1][y-1]*;}else {printf(坐标已经被占用请重新选择);}else {printf(坐标非法请重新输入);}} }玩家下完棋需要有对立面也就是我们的电脑 电脑下棋 时间戳推荐一篇 C语言生成随机数的方法_c语言随机数_杯浅的博客-CSDN博客 void computer(char board[row][col], int hang, int lie) {printf(电脑下棋\n);int x 0;int y 0;while(1){ x rand() % hang;//0-2//模取余数不会超过这个数y rand() % lie;if (board[x][y] ){board[x][y] #;break;}} } 判断输赢 输赢情况分析行三连列三连对角线俩条。 char panduan(char board[row][col], int hang, int lie) {int i 0;for (i 0; i hang; i)//行{if(board[i][0]board[i][1]board[i][1]board[i][2] board[i][1] ! ){return board[i][1];//电脑和玩家都可以用这一个判断}}int j 0;for (j 0; j lie; j)//列 {if (board[0][j] board[1][j] board[1][j] board[2][j] board[1][j] ! ){return board[1][j];}}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, hang, lie)){return q;//平局 else} return c; } 游戏逻辑实现 创建菜单函数选择 进入游戏 以及 退出游戏。 首先初始化 棋盘。 然后再打印棋盘。注意一定是要先进行 初始化 然后再 打印棋盘。 玩家下棋并打印出棋盘玩家输入行、列坐标方式进行落子x 玩家落子 判断玩家是否 赢判断是否 继续游戏。(字符c代表 继续游戏、字符q代表 游戏平局) 电脑进行落子下棋(随机位置进行落子o 电脑落子) 判断③种胜负方式分别是玩家赢、电脑赢、以及 平局。 然后再回到步骤①是否选择 进入游戏 以及 退出游戏。   void game() {int key 0;char board[row][col] { 0 }; //不直接写成数字利于改变棋盘大小//初始化棋盘的函数initboard(board,row,col);displayboard(board,row,col);while(1){player(board, row, col);keypanduan(board, row, col);if(key!c){break;}displayboard(board, row, col); computer(board, row, col);key panduan(board, row, col);if (key ! c){break;}displayboard(board, row, col);} if (key *){printf(玩家胜利\n);}else if(key#){printf(电脑胜利\n);}else if(keyp){printf(平局\n);} } 另外我们还需要将game.c以声明的形式放入game.h中 #pragma once #define _CRT_SECURE_NO_WARNINGS #include stdio.h #includewindows.h #includestdlib.h #includetime.h//这个全可以调用 #define row 3 #define col 3 //初始化棋盘 void initboard(char board[row][col], int hang, int lie); //打印棋盘 难点 void displayboard(char board[row][col], int hang, int lie); //玩家下棋 void player(char board[row][col], int hang, int lie); //电脑下棋 void computer(char board[row][col], int hang, int lie); //判断输赢 玩家赢 电脑赢 平 继续/ char panduan(char board[row][col], int hang, int lie); int isfull(char board[row][col], int hang, int lie); 之后利用test.c来实现游戏逻辑(在编辑的开始需要加上#includegame.h) 好了今天的文章到这里希望对大家有帮助!
http://www.zqtcl.cn/news/837496/

相关文章:

  • 上海市官方网站福建省中嘉建设工程有限公司网站
  • 备案之后怎样把 放到网站上大连建设网球场价格
  • dkp网站开发今天最新新闻
  • 山东省环保厅官方网站建设项目东莞寮步网站设计
  • 网站开发可能遇到的问题附近电脑培训班位置
  • 如何查看域名以前是做什么网站的网站索引下降如何解决
  • 潜江 网站建设扬中话
  • 网站建设项目方案ppt广州建站模板平台
  • 房产部门成立网站免费seo推广软件
  • python做网站好处百度指数分析报告
  • 网站建设挣钱班级介绍网页制作模板
  • 工作室 网站建设app公司
  • 自己做的网站怎么在百度搜索到网页制作论文3000字
  • 如何网站托管中国跨境电商平台有多少
  • 手机p2p网站做平面设计兼职的网站有哪些
  • 贵金属网站建设唐山网站制作工具
  • 网站入门成都网站制作沈阳
  • 接做网站单子的网站做网站要会那些ps
  • 做盗市相关网站wordpress速度优化简书
  • 贵阳手机网站建设公司国内永久免费云服务器
  • 温州做网站定制哪家网络推广公司好
  • 招聘网站怎么做线下活动网站后台管理系统怎么开发
  • 西湖区外贸网站建设商梦建站
  • 网站首页设计注意斗蟋蟀网站建设
  • 石家庄网站建设远策科技网站建设公司人员配备
  • 手机怎么建网站链接专门做鞋子的网站吗
  • 网站建设设计作品怎么写网站建设 网站内容 采集
  • 自己做网站nas如何做网站大图片
  • 网站优化定做嘉兴模板建站代理
  • 南宁做网站比较好的公司有哪些花乡科技园区网站建设