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

辽宁省企业信息系统/seo关键词排名优化联系方式

辽宁省企业信息系统,seo关键词排名优化联系方式,车身做网站宣传图,做App和网站 聚马相信对很多人来说,学完C语言以后,都会找一些小程序来练练手。例如贪吃蛇、五子棋、俄罗斯方块等等。今天给大家分享一个基于控制台的C语言贪吃蛇小程序。基础知识要求:C语言基础。知识点补充这里写一些你可能没学到的知识点system("cls&…
2b01eecffc7aae145ed6baacd1eb46b5.png

相信对很多人来说,学完C语言以后,都会找一些小程序来练练手。例如贪吃蛇、五子棋、俄罗斯方块等等。

今天给大家分享一个基于控制台的C语言贪吃蛇小程序。


基础知识要求:C语言基础。

知识点补充

这里写一些你可能没学到的知识点

  • system("cls"):清屏函数
  • Sleep(300):等待函数,其中括号内的为毫秒。
  • _getch():获取一个键盘字符,不显示该字符就返回
  • kbhit():判断是否有键按下,是返回1,否返回0.

代码部分

废话不多说,直接贴代码

#include #include #include #include #include #include struct node{int x;int y;struct node *next;};node *init(int length);//初始化蛇void print(int a[15][30],node *head);//输出函数void food(node *head);//食物产生函数void move(node *head);//移动函数bool dead(node *head);//判断死亡函数int food_x=0,food_y=0;int food_flag = 0;int target = 2;void main(){int a[15][30];node *head;head = init(2);while(1){system("cls");move(head);if(dead(head))break;print(a,head);Sleep(300);}system("cls");printf("Game Over!!!");}node *init(int length){int i = 2;node *head;head = (node*)malloc(sizeof(node));//分配地址node *p = head;head->x = 1;head->y = 1;while(i <= length){node *s;s = (node*)malloc(sizeof(node));s->x = 1;s->y = i;s->next = NULL;p->next = s;p = p->next;i++;}food(head);return head;}void print(int a[15][30],node *head){//0为空格,-1为墙壁#,1为蛇身*,2为蛇头@,3为食物$int i,j;node *p = head;for(i = 0; i < 15; i++){for(j = 0; j < 30; j++){if(i == 0 || j == 0 || i == 14 || j == 29)a[i][j] = -1;elsea[i][j] = 0;}}while(p != NULL){if(p->next == NULL)a[p->x][p->y] = 2;elsea[p->x][p->y] = 1;p = p->next;}a[food_x][food_y] = 3;for(i = 0; i < 15; i++){for(j = 0; j < 30; j++){if(a[i][j] == -1)printf("#");if(a[i][j] == 0)printf(" ");if(a[i][j] == 1)printf("*");if(a[i][j] == 2)printf("@");if(a[i][j] == 3)printf("$");}printf("");}}void food(node *head){node *p = head;srand((unsigned)time(NULL));food_x = rand()%12 + 1;food_y = rand()%27 + 1;while(p != NULL){if(p->x == food_x && p->y == food_y){food_x = rand()%12 + 1;food_y = rand()%27 + 1;p = head;}p = p->next;}}void move(node *head){char ch;if(kbhit()){ch = _getch();//VS中getch()用_getch()代替。switch (ch){case -32:  //上下左右占两个字节,低八位存ASCII码,高八位存按键扫描码ch = _getch(); //其中-32为我的电脑的按键扫描码switch (ch){case 72:if(target != 1)target = 0; break;//72为上的ASCII码case 80:if(target != 0)target = 1; break;//80为下的ASCII码case 77:if(target != 3)target = 2; break;//77为右的ASCII码case 75:if(target != 2)target = 3; break;//75位左的ASCII码default:break;}}}node *p;node *q = head->next;while(q->next != NULL)q = q->next;switch(target){case 0:if(q->x - 1 == food_x && q->y == food_y)food_flag = 1;break;case 1:if(q->x + 1 == food_x && q->y == food_y)food_flag = 1;break;case 2:if(q->x == food_x && q->y + 1 == food_y)food_flag = 1;break;case 3:if(q->x == food_x && q->y - 1 == food_y)food_flag = 1;break;}if(food_flag == 1){node *s;s = (node*)malloc(sizeof(node));s->x = food_x;s->y = food_y;s->next = NULL;q->next = s;food(head);food_flag = 0;}else{p = head;q = head->next;while(q != NULL){p->x = q->x;p->y = q->y;if(q->next == NULL){switch(target){case 0:q->x = q->x - 1;break;case 1:q->x = q->x + 1;break;case 2:q->y = q->y + 1;break;case 3:q->y = q->y - 1;break;}}p = p->next;q = q->next;}}}bool dead(node *head){node *p = head;while(p->next != NULL)p = p->next;if(p->x >= 14 || p->x <= 0 || p->y >= 29 || p->y <= 0)return true;node *q = head;while(q->next != NULL){if(q->x == p->x && q->y == p->y)return true;q = q->next;}return false;}

以上就是全部内容。

下次再见!!!

http://www.lbrq.cn/news/1309861.html

相关文章:

  • 淮安市政府门户网站建设的调查报告/小红书推广方式
  • 做网站ps能用美图秀秀么/双11销量数据
  • 宁波网站建设制作价格/知名网络推广
  • 做企业网站需要买什么资料/发布会直播平台
  • 南京快速建站公司/semir是什么品牌
  • 每天做任务得钱的网站/东莞百度搜索优化
  • 哪些网站可以兼职做设计/跟我学seo
  • 怎么做跟P站一样的网站/uc浏览网页版进入
  • 卖护肤在哪个网站做宣传好/网站收录查询方法
  • 网站域名注册的相关证书证明文件/seo网站介绍
  • 网络营销公司都做什么的/长沙网站seo优化排名
  • 重庆小程序开发/360优化大师官方下载
  • win10做的网站其他电脑访问不了/知乎营销平台
  • 做网站淄博/35个成功的市场营销策划案例
  • 深圳规模较大的网站建设公司/百度网站关键词排名查询
  • 个性化定制服务的网站有哪些/百度官网平台
  • 手机网站开发看什么书/网络推广怎么做
  • 网站现状如何分析/晚上必备免费软件大全苹果
  • 一个论坛网站应该怎么做/中小企业管理培训课程
  • 云南省建设厅网站查询/优化关键词排名公司
  • 梅州市网站制作/培训学校怎么招生
  • 做博客网站怎么赚钱吗/百度快速收录教程
  • java做网站好学么/深圳网络推广seo软件
  • jsp网站开发 开题依据/网络营销与策划实践报告
  • 网站页面布局分类/seo整合营销
  • 做外单的网站/优化排名案例
  • 怎样给自己的网站做优化/上海网站排名seo公司哪家好
  • 怎么做可上传图片的网站/seo最新快速排名
  • 东城专业网站建设公司/手机怎么建自己的网站
  • 昆山网站设计公司/网站优化排名哪家好
  • 杭州卓健信息科技有限公司 Java 面经
  • Java使用FastExcel实现Excel文件导入
  • display:flex弹性布局
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十课——图像还原的FPGA实现
  • 大语言模型任务分解与汇总:从认知瓶颈到系统化解决方案
  • 消息中间件(Kafka VS RocketMQ)