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

宣城市建设监督管理局网站下载网站建设公司哪个好做

宣城市建设监督管理局网站下载,网站建设公司哪个好做,太原公司网站开发,学校网站建设年度总结单一职责原则(SRP),就一个类而言#xff0c;应该仅有一个引起它 变化的原因。 一个c语言的贪吃蛇代码 如何使用单一职责原则封装成c面向对象呢 #define _CRT_SECURE_NO_WARNINGS #includestdio.h #includestring.h #includestdlib.h #include wi…单一职责原则(SRP),就一个类而言应该仅有一个引起它 变化的原因。 一个c语言的贪吃蛇代码 如何使用单一职责原则封装成c面向对象呢 #define _CRT_SECURE_NO_WARNINGS #includestdio.h #includestring.h #includestdlib.h #include windows.h #include conio.h #define WIDE 60 #define HIGH 20 //1 设置地图范围(边界) 宽 高 //2 初始化蛇 初始化食物 //3 将蛇和食物显示在屏幕上 //4 蛇的移动(通过wasd按键控制蛇的移动方向) /*a 蛇碰到墙b 蛇碰到蛇的身体c 蛇碰到障碍物d 蛇碰到食物( 蛇的身体增长一节,原食物消失,生成新的食物,增加分数)*/ //5 蛇的死亡 积分typedef struct _body {int x;int y;}BODY; typedef struct snake {BODY list[WIDE*HIGH];//身体.身体的每一节坐标都是BODY类型int size;//蛇的身体大小BODY food;//食物的坐标COORD coord;//光标的位置信息int dx;//蛇x轴移动的方向int dy;//蛇y轴移动的方向int score;//得分BODY tail; }SNAKE;void init_ui() {for (int i 0; i HIGH;i ){for (int j 0; j WIDE; j){printf(#);}printf(\n);}} void init_food(SNAKE *snake) {srand(time(NULL));//设置随机数种子//初始化食物坐标snake-food.x rand() % WIDE;snake-food.y rand() % HIGH; } void init_snake(SNAKE *snake) {//初始化蛇头坐标snake-list[0].x WIDE / 2;snake-list[0].y HIGH / 2;//初始化蛇尾坐标snake-list[1].x WIDE / 2-1;snake-list[1].y HIGH / 2;//初始化蛇的身体大小snake-size 2;//初始化食物的坐标init_food(snake);//初始化蛇的移动方向snake-dx 1;snake-dy 0;//初始化分数snake-score 0;} void show_ui(SNAKE *snake) {//显示蛇 注意: 每次显示蛇或食物,都要设置显示的位置,(光标的位置)for (int i 0; i snake-size; i){snake-coord.X snake-list[i].x;snake-coord.Y snake-list[i].y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), snake-coord);if (0 i){printf();}else{printf(*);}}//显示食物snake-coord.X snake-food.x;snake-coord.Y snake-food.y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), snake-coord);printf(#);//将原来尾巴的位置显示为空格snake-coord.X snake-tail.x;snake-coord.Y snake-tail.y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), snake-coord);printf( ); } void move_snake(SNAKE *snake) {//记录尾巴的坐标snake-tail.x snake-list[snake-size - 1].x;snake-tail.y snake-list[snake-size - 1].y;//更新蛇的身体坐标,除蛇头for (int i snake-size - 1; i 0; i--){snake-list[i] snake-list[i-1];//将数组的前一个元素的坐标给后一节}//更新蛇头snake-list[0].x snake-dx;snake-list[0].y snake-dy;} void control_snake(SNAKE *snake) {char key0;while (_kbhit()) //判断是否按下按键,按下不等于0 {key _getch();}switch (key){case a:snake-dx -1;snake-dy 0;break;case w:snake-dx 0;snake-dy -1;break;case s:snake-dx 0;snake-dy 1;break;case d:snake-dx 1;snake-dy 0;break;}} void game_end(SNAKE *snake) {snake-coord.X 25;snake-coord.Y 25;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), snake-coord);printf(游戏结束 得分为%d\n,snake-score);Sleep(3000);exit(0);//退出进程} //咬到自己 void snake_eat_body(SNAKE *snake) {//如果蛇头和蛇的身体的任意一节身体坐标相同,则吃到自己身体for (int i 1; i snake-size; i){if (snake-list[0].x snake-list[i].x snake-list[0].y snake-list[i].y){game_end(snake);}}} void snake_eat_food(SNAKE *snake) {//如果蛇头和食物的坐标重合.则吃到了食物if (snake-list[0].x snake-food.x snake-list[0].y snake-food.y){//原食物消失,生成新的食物init_food(snake);//蛇的身体增长一节snake-size;//分数增加if()snake-score 10;}} void init_wall() {for (int i 0; i HIGH; i){for (int j 0; j WIDE; j){if (i HIGH || j WIDE){printf();}else{printf( );}}printf(\n);} } void start_game(SNAKE *snake) {while ( snake-list[0].x 60 snake-list[0].x 0 snake-list[0].y 20 snake-list[0].y 0){//控制蛇的方向control_snake(snake);//更新蛇的坐标move_snake(snake);//蛇移动//system(cls);//清屏//init_wall();show_ui(snake);//蛇是否碰到自己snake_eat_body(snake);//蛇是否碰到食物-(碰到食物,原食物消失,产生新的食物)snake_eat_food(snake);Sleep(100);//延时0.5s}game_end(snake);}void hide_cur() {//隐藏控制台光标CONSOLE_CURSOR_INFO cci;cci.dwSize sizeof(cci);cci.bVisible FALSE;SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), cci); } int main() {hide_cur();//init_ui();init_wall();//申请蛇的结构体SNAKE *snake (SNAKE *)malloc(sizeof(SNAKE));init_snake(snake);//初始化蛇和食物show_ui(snake);//显示界面信息start_game(snake);//开始游戏system(pause);return 0; }
http://www.zqtcl.cn/news/431882/

相关文章:

  • 商城网站模版郴州网页定制
  • 电子商务网站建设步骤海外广告投放渠道
  • 网站用花生壳nas做存储十堰市网站建设
  • 用html5做手机网站抖音平台建站工具
  • 在线课程网站开发的研究意义网站开发需要哪些知识
  • 深圳网站优化怎么做手工艺品外贸出口公司网站建设方案
  • 从网站优化之角度出发做网站策划wordpress邀请码插件
  • 大学营销型网站建设实训课程o2o的四种营销模式
  • 咋做网站代码背景图宁远网站建设
  • 有哪些可以做网站的企业网站想换个风格怎么做
  • 怎么在百度搜索自己的网站在电脑上建设个人网站
  • wordpress网站菜单固定电商未来发展趋势前景
  • 五合一网站建设费用python 做网站 用哪个框架好
  • 波莱网站开发动态域名可以做网站吗
  • 网站建设 赣icp 南昌面馆装修设计
  • 福田附近公司做网站建设多少钱网站建设文献综述范文
  • 镇江网站建设设计建设银行投诉网站首页
  • 石家庄个人做网站广州全网络营销
  • html5网站建设加盟wordpress 4.8.6
  • 携程网站建设的基本特点哈尔滨做平台网站平台公司
  • 网站建设入门解读国模 wordpress
  • 网站购物车js代码怎么做制作app的软件有哪些
  • 36氪网站用什么程序做的互联网门户网站建设
  • 视频聚合网站怎么做不侵权wordpress 管理员插件
  • 传媒网站后台免费模板网站建设的进度计划
  • 如何做网站排名合肥全网优化
  • 网站建设招聘信息官网 wordpress
  • 城阳网站开发公司网页制作与设计在哪搜题
  • 做网站算运营吗grace wordpress
  • 厦门建设网站建站制作网页动画的软件