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

原型样网站福州科技网站建设怎么做

原型样网站,福州科技网站建设怎么做,网页搭建公司,移动互联网 网站建设哈喽盆友们#xff0c;今天带来《c语言》游戏中[三子棋boss]速通教程#xff01;我们的目标是一边编写博文#xff0c;一边快速用c语言实现三子棋游戏。准备好瓜子#xff0c;我们计时开始#xff01; 前期规划 在速通中#xff0c;我们必须要有清晰的前期规划#xf…哈喽盆友们今天带来《c语言》游戏中[三子棋boss]速通教程我们的目标是一边编写博文一边快速用c语言实现三子棋游戏。准备好瓜子我们计时开始 前期规划 在速通中我们必须要有清晰的前期规划我选用了一下框架 int main() {//棋盘return 0; } //初始UI //游玩显示模块 //用户操作模块 //胜利判定模块 //结算界面初始UI 初始UI是最为简单的部分之一我们可以在此快速输出为接下来的算法腾出时间。 我们使用printf函数直接实现可视化UI然后使用scanf读取用户的操作。 int num 0;printf(-----------------------\n);printf( 欢迎来到三子棋游戏\n);printf( # 1.开始游戏\n);printf( # 2.退出游戏\n);printf(-----------------------\n);printf(请输入操作序号);scanf_s(%d, num);使用switch函数进行分流并且添加上一个简单的输入检测 again:int num 0;printf(-----------------------\n);printf( 欢迎来到三子棋游戏\n);printf( # 1.开始游戏\n);printf( # 2.退出游戏\n);printf(-----------------------\n);printf(请输入操作序号);scanf_s(%d, num);switch (num) {case 1:return 1;case 2:return -1;default:system(cls);printf(#无效的操作符输入\n);goto again;//通过goto实现快速构建循环。}配合return函数的声明为int UI(); 在主函数中通过if语句引用UI并且实现退出选项。 UI函数到此为止。完整代码如下 #includestdio.h #includewindows.hint UI();int main() {//展示UIif (UI() -1)return 0;//棋盘return 0; }//初始UIint UI() {again:int num 0;printf(-----------------------\n);printf( 欢迎来到三子棋游戏\n);printf( # 1.开始游戏\n);printf( # 2.退出游戏\n);printf(-----------------------\n);printf(请输入操作序号);scanf_s(%d, num);switch (num) {case 1:return 1;case 2:return -1;default:system(cls);printf(#无效的操作符输入\n);goto again;}} //游玩显示模块 //用户操作模块 //胜利判定模块 //结算界面具体的效果如下 此时的时间为 棋盘 清理了小兵之后boss战才开始打响 我们需要构建三子棋的棋盘。 为了方便判定我将33的棋盘嵌入55的数组中。 //棋盘int chess[5][5];memset(chess, 0, sizeof(int) * 25);//棋盘初始化通过string.h头文件中memset函数我们完成了对棋盘的初始化。 游玩显示模块 此时boss血条已经下降了四分之一boss进入红温阶段。 我们需要建立一个函数输出游玩时的界面。 这是一个双人游戏所以棋盘有3种状态空白X棋子O棋子。 我用0代表空格用1代表X棋子用2代表O棋子。 建立print_under函数实现对单个格子的可视化 void print_under(int*arr ,int i, int j) {if (*(arr i * 3 j) 0)printf(·\t);else if (*(arr i * 3 j) 1)printf(X\t);else if (*(arr i * 3 j) 2)printf(O\t);else printf(Error\t);return; }通过vision函数实现棋盘整体的输出 //游玩显示模块 void vision(int* arr) {system(cls);printf(-----------------------\n);for (int i 1; i 4; i) {for (int j 1; j 4; j) {print_under(arr,i, j);}printf(\n);}printf(-----------------------);}效果如下 不过我在此时发现一个bug就是在UI函数中goto语句将变量定义包涵进去了这样会导致变量的重定义这吓了我一身冷汗急忙改了回来 //原式 int UI() {again:int num 0;//原来的定义放在again标签前printf(-----------------------\n);//改后 int UI() {int num 0;//转移到标签外面again:printf(-----------------------\n);很好此时我们成功完成了这个模块。 用时 用户操作模块 boss血量剩下50%boss进入第二阶段boss放大招了我们必须挺过这里 建立op函数引入user变量实现玩家1和玩家2的区分。 用scanf读取用户操作并且设立输入检查 void op(int* arr, int user) {int i, j;again1:if (user % 2 0) {printf(玩家1请输入落子位置);scanf_s(%d%d, i, j);if (i 4 i 0)if (j 4 j 0)if (*(arr 3 * i j) 0)*(arr 3 * i j) 1;else { printf(#无效的操作你似乎下在了已经有棋子的地方哦\n);goto again1; }else { printf(#无效的操作你似乎下到了界外诶\n);goto again1; }else { printf(#无效的操作你似乎下到了界外诶\n);goto again1; }}if (user % 2 1) {printf(玩家2请输入落子位置);scanf_s(%d%d, i, j);if (i 4 i 0)if (j 4 j 0)if (*(arr 3 * i j) 0)*(arr 3 * i j) 2;else { printf(#无效的操作你似乎下在了已经有棋子的地方哦\n);goto again1; }else {printf(#无效的操作你似乎下到了界外诶\n);goto again1; }else { printf(#无效的操作你似乎下到了界外诶\n);goto again1; }}} 此时我还对游玩显示模块进行了优化 void vision(int* arr) {system(cls);printf(----------------------------\n);printf(\t1\t2\t3\n);for (int i 1; i 4; i) {printf(%d\t, i);for (int j 1; j 4; j) {print_under(arr,i, j);}printf(\n);}printf(----------------------------\n);}此时的效果 此时我一共花费了以下时间显示问题真实的时间为图示的时间加上1个小时 胜利判定 此时boss血量见底让我们来一段漂亮的斩杀把 完成胜利判定模块 // 胜利判定模块 int victory(int* arr, int user) {int player (user % 2 0) ? 1 : 2;// 横向判定for (int i 1; i 4; i) {if (*(arr i * 3 1) player *(arr i * 3 2) player *(arr i * 3 3) player) {return player;}}// 纵向判定for (int j 1; j 4; j) {if (*(arr 1 * 3 j) player *(arr 2 * 3 j) player *(arr 3 * 3 j) player) {return player;}}// 左斜线判定if (*(arr 1 * 3 1) player *(arr 2 * 3 2) player *(arr 3 * 3 3) player) {return player;}// 右侧斜线判定if (*(arr 1 * 3 3) player *(arr 2 * 3 2) player *(arr 3 * 3 1) player) {return player;}return 0; } 经历了痛苦的改bug 我终于意识到原来数组只要3*3就好了TAT于是我默默的把标题的1命速通改为3命速通悲。 那么用时多久呢 没错两个半小时计时器忽略了小时计数 一位破防的靓仔把标题的1命速通改为3命慢通…… 嘿嘿 虽然速通失败但是博主其实很有实力的 关注博主总有一天我会证明给你看OvO~
http://www.hkea.cn/news/14310784/

相关文章:

  • 苏州公司建设网站wordpress 指定分类
  • 百度上做网站免费吗友情链接代码wordpress
  • 网站建设kaituozu开封网站建设价格
  • 域名和网站关联暴雪代理最新消息
  • 石家庄哪里有网站建设轻食网络推广方案
  • 课程分销的网站怎么做科技厅
  • 做网站销售电销好做吗北京网站优化seo
  • 长春网站推广常州网站制作czyzj
  • 凡科轻站链爱交易平台
  • 郴州网站建设公司哪个好html网站自带字体怎么做
  • 网站建设从哪几个情况去判天元建设集团有限公司六大板块
  • 深圳网站建设799元起全包域名重庆做手机网站建设
  • 如何编写网站建设公司简介模板及介绍
  • 保定网站建设制作开发平台电商平台寻求供货商
  • 网站布局设计软件营销必备十大软件
  • 杭州网站建设的企业沈阳视频制作公司
  • 在哪能学到网站建设工商企业登记查询
  • html网站设计模板哪里有网站建设中心
  • 建立网站怎么赚钱北京顺义去哪找做网站的
  • 品牌网站建设费用网站开发 .net
  • 简单php企业网站源码dw简易网站怎么做
  • 杭州网站建设价格企业管理咨询管理公司在哪
  • 长春网站建设选择星宿科技河南网站顾问
  • 做机械产品用什么网站注册网站在哪里创建
  • 网站设计与制作是做什么工作郑州做网站推广
  • 两学一做网站飘窗网红推广团队去哪里找
  • 长沙的互联网网站公司做品管圈网站
  • 使用oss做静态网站企业宣传片模板直接套用
  • 有做学历在网站能查的到的九江seo优化
  • 定制网站制作服务商做亚马逊一年赚了60万