《2022年C语言贪吃蛇实验报告.pdf》由会员分享,可在线阅读,更多相关《2022年C语言贪吃蛇实验报告.pdf(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言程序设计报告题目:贪吃蛇游戏的程序设计院系:西语学院英语教育 6 班姓名:学号:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 43 页 - - - - - - - - - - 1.1题目:设计贪吃蛇小游戏1.2题目的要求:玩家通过键盘控制蛇在地图上寻找食物,蛇吃下食物,可以加分,碰到四壁游戏结束。1.3设计的步骤:分析设计题目的要求,即需求分析。总体设计,确定所需模块及模块间调用关系,定义系统中使用的数据类型。详细设计,确定每个模块的功能,绘制主要函数的流程图。编写程序代码,调试程序使
2、其能正确运行。要求书写规范,注意采用缩进格式。函数名、变量名要见文晓意,注释要简而不失、详而不缀。设计完成的软件要便于操作和使用。程序测试,发现程序中存在的错误并改正。完成报告。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 43 页 - - - - - - - - - - 2详细设计说明2.1课程设计的要求:通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。收集资料,分析课题,分解问题,形成总体设计思路;对于设计中用到的关键函数,要学会通
3、过查资料,弄懂其用法,要联系问题进行具体介绍;上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行;完成课程设计报告。2.2程序的功能:贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10 分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。2.3课程设计的思想 :程序关键在于表示蛇的图形及蛇的移动。用一个小圆点来表示蛇的一节身体,身体每长一节,增加一个圆点,蛇头用四节来表示。移动时必须从蛇头开始,所以蛇不能向
4、相反的方向移动,如果不按任意键,蛇自行在当前方向上前精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 43 页 - - - - - - - - - - 移,如果按与蛇运动方向相反的方向键,此游戏就会暂停,再按想前的方向键才能继续游戏,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背
5、景色覆盖。食物的出现与消失也是画一个圆点和覆盖原来的圆点。为了便于理解,定义两个结构体:食物与蛇。2.4设计程序中的调试过程在调试过程中,遇到了很多的问题,比如,因为使用的刷屏函数,所以屏幕经常出现闪烁的情况,但是通过我和我的伙伴们的共同努力和学习,通过网上和书籍的查阅,我们也得到了很多的收获,我们的小组也在中真正的学会了很多的东西,这次实训给我们带来了很大的收获。可以按照程序运行的错误提示对原程序进行修改,在调试过程中有时也会遇到不懂的问题,我去图书馆或上网查阅一些资料或者是向老师请教也解决了对源程序一一修改直到运行成功。2.5设计的流程图总程序设计图如图1 所示:欢 迎 词 和 游开 始
6、游精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 43 页 - - - - - - - - - - Y N N Y Y 是 否 吃是 否 碰初 试 化 界 面方向键控制蛇变长,并游 戏 结精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 43 页 - - - - - - - - - - N 图 1 程序设计流程图方向键控制的设计流程图如图2 所示:其中 upmove函数控制蛇向上运动,downm
7、ove 函数控制蛇向下运动, leftmove函数控制蛇向左运动, rightmove 函数控制蛇向右运动。则 使 用 函 数则 使 用 函则使用函数则使用函数按 方 向按 方 向按 方 向按 方 向通过方向键精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 43 页 - - - - - - - - - - 图 2 方向键控制方向键控制的设计流程图蛇吃食物蛇身变长的设计流程图如图3 所示: N Y通 过 控 制是 否 能通过使用函数:Count+score=(coun精品资料 - - - 欢迎下
8、载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 43 页 - - - - - - - - - - 图 3 蛇吃食物蛇身变长的设计流程图2.6程序的总体设计思想利用人工绘图法 , 制作美观的游戏界面 .通过随机函数产生随机数, 控制游戏过程食物的出现.定义键盘操作 , 控制游戏过程蛇的移动方向.画出边界 , 并判断游戏是否结束 .统计游戏过程蛇吃的食物数量,计算并输出游戏成绩 .3软件的使用说明3.1建立游戏的过程说明先打开 Microssft Visual C+ 程序,进入Microssft Visual C+ 程序后
9、打 开 文件 菜 单,点 机 新键命 令 按钮, 先建 立一 个 Win32 Console Application工程,建立工程时可填写工程名称和你所建工成要存放的位置,点机确定按钮,再点机一个空工程类型的控制台程序,再点机完成,然后点机确定按钮,此时一个所要建立的工程就已经建立好,然后再点机文件中的新建按钮,然后再建立一个C+ Source File 文件,并填写文件名称,然后点机确定按钮,此时所要建立的工程和文件都已建立完毕,此时您就可以把贪吃蛇游戏的代码复制粘贴到你刚刚建立的工程和文件里面了,然后点机组建命令中的编译和组建命令,最后点机执行命令就可进入贪吃蛇游戏中了。精品资料 - -
10、- 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 43 页 - - - - - - - - - - 3.2执行游戏的过程说明进入贪吃蛇游行中后,首先弹出一个界面,上面出现的是欢迎词和游戏的简单说明,可点机任意键开始游戏,此游戏是由键盘的四个方向键进行控制的,吃一个点,蛇身就长长一端,总分数就加10 分,如果碰壁或结尾游戏则结束,最后出先一个界面,上面显示你此次游戏的总分数。希望我这个小游戏能让你玩的开心。5. 收获及体会在设计这个程序中我主要学会了如何运用以下有关C语言和 C+ 的知识:1)函数定义是要做到顾名思
11、义是很重要的,它对读程序的人正确认识程序十分重要,在修改这个程序的过程中也能很快找到程序各模块的作用,大大增加了程序的可读性。2)分析函数先从 main() 函数入手。 Main() 函数是 C+ 源程序编译时的开始,从 main() 函数开始读函数可将其他函数的功能理解得更透彻。3)在做程序的时候先列框架, 将这个程序所要达到的目的 (功能)分析出精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 43 页 - - - - - - - - - - 来,选择正确的数据结构然后在将程序模块化,按照模
12、块编写函数更加简单合理。4)我还了解了很多的库函数的作用,如字符串函数中有很多对字符串进行处理的函数,起功能我都有所了解。 5)学会了有关头文件的使用方法,及系统调配问题的解决方法等。 6)在调试过程中,遇到了很多的问题,比如,因为使用的刷屏函数,所以屏幕经常出现闪烁的情况,但是通过我和我的伙伴们的共同努力和学习,通过网上和书籍的查阅,我们也得到了很多的收获,我们的小组也在中真正的学会了很多的东西,这次实训给我们带来了很大的收获。可以按照程序运行的错误提示对原程序进行修改,在调试过程中有时也会遇到不懂的问题,我去图书馆或上网查阅一些资料或者是向老师请教也解决了对源程序一一修改直到运行成功。精品
13、资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 43 页 - - - - - - - - - - 附录部分程序代码清单#include#include#include#include#include#define HEAD 300#define FOOD 400#define v_sleep 100/*改变 sleep 的大小可改变蛇的运动速度,此数值越小蛇的运动速度越快 */int score=0; /*定义了一个全局变量来在整个程序中统计总成绩*/*-欢迎词 -*/void welc() p
14、rintf(nnnnnnttt欢迎来到【贪吃蛇】小游戏nn);printf(ttt蛇身加长一段就加10 分nn);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 43 页 - - - - - - - - - - printf(tt此游戏用键盘的方向键控制即可。 若想退出请按 Esc建。 n); printf(nttt相反的方向的话是暂停。n); printf(nttt请按任意键进入游戏。 ); getch();/*-*/*-人工画图程序 -*/void drawpt(int a,int x,
15、int y) /*利用人工绘图程序来画出蛇运动的范围*/ if(x=0) printf(tt); return ; if(y=0)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 43 页 - - - - - - - - - - printf(ttt); return ; if(x=16) printf(n); return ; if(y=16) printf(t); if(x0&x0&y16) if(a=0)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载
16、 名师归纳 - - - - - - - - - -第 13 页,共 43 页 - - - - - - - - - - printf();/*用空心圆来表蛇改运动的总范围*/ else printf();/*用实心圆来蛇的长度和食物的出现地点*/ return ; void draw(int (*sna)17) int i,j;system(cls); /*刷屏工具 */for(i=0;i17;i+) /*区域范围的大小 */ for(j=0;j17;j+) drawpt(snaij,j,i); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 -
17、- - - - - - - - -第 14 页,共 43 页 - - - - - - - - - - printf (ttt总成绩为 %d分,score);/*-*/*-取随机数,出现食物用 -*/int randno() /*利用这个随机函数来控制食物的随机出现*/ srand(time(NULL); return rand()%15+1;/*随机函数出现食物时的范围,防止食物出现在范围之外*/*-*/*-判断游戏是否结束 -*/bool judgeGO(int (*sna)17) int x,y,i=0,max=0,count=0;精品资料 - - - 欢迎下载 - - - - - - -
18、 - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 43 页 - - - - - - - - - - for(x=0,y=0;y17;y+) if(snaxy=HEAD)/*判断头部是否在最外层的*/ return false; for(x=16,y=0;y17;y+) if(snaxy=HEAD) return false; for(y=0,x=0;x17;x+) if(snaxy=HEAD) return false; for(y=16,x=0;x17;x+) if(snaxy=HEAD) return false; for(x=0;x16;x+)
19、 for(y=0;y16;y+) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 43 页 - - - - - - - - - - if(maxsnaxy) if(snaxy!=HEAD&snaxy!=FOOD) max=snaxy;/*这个也是求头部之后的 */ for(i=0;imax;i+) for(x=1;x16;x+) for(y=1;y16;y+) if(snaxy=i+1) count+;/*这个判断想了好久的 */ score=(count-3)*10;/*计算蛇的总成绩 *
20、/ 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 43 页 - - - - - - - - - - if(count!=max)/*判断身体部分是否连续 */return false; return true;/*-*/*-游戏结束显示 -*/void gameover() system(cls); printf(nnnnnnnn); printf(tttt); printf(游戏结束 nn);printf(tttt);printf (此次总成绩为 %d分nn,score); printf
21、(tttt);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 43 页 - - - - - - - - - - printf (请您再接再厉 nn);printf(ttt); printf(按 Esc键退出,按任意键重新开始。n);/*-*/* 全程标记法,从尾巴开始123456.HEAD ,食物是 FOOD 。*/void marksn() void downmove(int (*sna)17);/*用键盘的方向键的下键来控制蛇向下运动*/ void upmove(int (*sna)17
22、);/*用键盘的方向键的上键来控制蛇向上运动*/ void leftmove(int (*sna)17);/*用键盘的方向键的左键来控制蛇向左运动*/ void rightmove(int (*sna)17);/*用键盘的方向键的右键来控制蛇向右运动*/ int judgeF(int (*sna)17,int keym);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 43 页 - - - - - - - - - - int snake1717=0;/*-各种东西初始化 -*/ int x=
23、1,y=7,key,key1; snake11=1; snake12=2; snake13=3; snake23=HEAD; while(snakexy!=0) x=randno(); y=randno(); snakexy=FOOD; draw(snake);/*-*/*-控制的部分 -*/精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 20 页,共 43 页 - - - - - - - - - - while(judgeGO(snake) key=getch(); switch(key) case 7
24、2: while(!kbhit()&key1!=80&judgeGO(snake)/*这个函数 kbhit ()自己查一下吧 控制输入很好 */ if(judgeF(snake,key) draw(snake); Sleep(v_sleep);/*Sleep函数在着是个延迟函数,也可在呈现头改变 v_sleep 的大小来控制蛇的运动速度*/ continue; upmove(snake);/*用键盘的方向键的上键来控制蛇向上运动*/精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 21 页,共 43 页 -
25、 - - - - - - - - - draw(snake); key1=key;/*这里的 key1 是就来标记上一步的方向,这样相反的方向就暂停了 */ Sleep(v_sleep);/*Sleep函数在着是个延迟函数,也可在呈现头改变 v_sleep 的大小来控制蛇的运动速度*/ break; case 80: while(!kbhit()&key1!=72&judgeGO(snake) if(judgeF(snake,key) draw(snake); Sleep(v_sleep);/*Sleep函数在着是个延迟函数,也可在呈现头改变 v_sleep 的大小来控制蛇的运动速度*/ co
26、ntinue; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 22 页,共 43 页 - - - - - - - - - - downmove(snake);/*用键盘的方向键的下键来控制蛇向下运动*/ draw(snake); key1=key; Sleep(v_sleep);/*Sleep函数在着是个延迟函数,也可在呈现头改变 v_sleep 的大小来控制蛇的运动速度*/ break; case 75: while(!kbhit()&key1!=77&judgeGO(snake) if(judgeF
27、(snake,key) draw(snake); Sleep(v_sleep);/*Sleep函数在着是个延迟函数,也可在呈现头改变 v_sleep 的大小来控制蛇的运动速度*/ continue; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 23 页,共 43 页 - - - - - - - - - - leftmove(snake);/*用键盘的方向键的左键来控制蛇向左运动*/ draw(snake); key1=key; Sleep(v_sleep);/*Sleep函数在着是个延迟函数,也可在呈
28、现头改变 v_sleep 的大小来控制蛇的运动速度*/ break; case 77: while(!kbhit()&key1!=75&judgeGO(snake) if(judgeF(snake,key) draw(snake); Sleep(v_sleep);/*Sleep函数在着是个延迟函数,也可在呈现头改变 v_sleep 的大小来控制蛇的运动速度*/ continue; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 24 页,共 43 页 - - - - - - - - - - rightmo
29、ve(snake);/*用键盘的方向键的右键来控制蛇向右运动*/ draw(snake); key1=key; Sleep(v_sleep);/*Sleep函数在着是个延迟函数,也可在呈现头改变 v_sleep 的大小来控制蛇的运动速度*/ break; case 27: exit(0); default: switch(key1) case 72: while(!kbhit()&judgeGO(snake) upmove(snake);/*上键函数控制蛇向上运动*/ draw(snake);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - -
30、 - - - - - - - -第 25 页,共 43 页 - - - - - - - - - - break; case 80: while(!kbhit()&judgeGO(snake) downmove(snake);/*下键函数控制蛇向下运动 */ draw(snake); break; case 75: while(!kbhit()&judgeGO(snake) leftmove(snake);/*左键函数控制蛇向左运动 */ draw(snake); break;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - -
31、- - - -第 26 页,共 43 页 - - - - - - - - - - case 77: while(!kbhit()&judgeGO(snake) ) rightmove(snake);/*右键函数控制蛇蛇向右运动*/ draw(snake); break; /*-*/*-是否继续游戏 -*/ gameover();/*判断游戏是否继续的函数 */ if(getch()=27) exit(0); else精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 27 页,共 43 页 - - - - -
32、 - - - - - marksn(); getch(); /*-*/*-*/*-上下左右移动神马的 -*/void downmove(int (*sna)17)/*控制蛇向下运动的函数 */ int x=0,y=0,mark=0; for(x=0;x16;x+) for(y=0;y16;y+) if(snaxy!=0&snaxy!=HEAD&snaxy!=FOOD)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 28 页,共 43 页 - - - - - - - - - - snaxy=snaxy-1;
33、.标记法,减去 1 的话,除了头部以外其他的就移动了。 for(x=0;x16;x+) for(y=0;y16;y+) if(marksnaxy) if(snaxy!=HEAD&snaxy!=FOOD) mark=snaxy;/这个是求头部之后的值。 for(x=0;x16;x+)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 29 页,共 43 页 - - - - - - - - - - for(y=0;y16;y+) if(snaxy=HEAD) snax+1y=HEAD;/头部的移动, snaxy=
34、mark+1;/头部的赋值。 return; void upmove(int (*sna)17)/*控制蛇向上运动的函数 */ int x=0,y=0,mark=0; for(x=0;x16;x+)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 30 页,共 43 页 - - - - - - - - - - for(y=0;y16;y+) if(snaxy!=0&snaxy!=HEAD&snaxy!=FOOD) snaxy=snaxy-1; for(x=0;x16;x+) for(y=0;y16;y+)
35、if(marksnaxy) if(snaxy!=HEAD&snaxy!=FOOD) mark=snaxy;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 31 页,共 43 页 - - - - - - - - - - for(x=0;x16;x+) for(y=0;y16;y+) if(snaxy=HEAD) snax-1y=HEAD; snaxy=mark+1; return; void leftmove(int (*sna)17)/*控制蛇向左运动的函数 */精品资料 - - - 欢迎下载 - - -
36、 - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 32 页,共 43 页 - - - - - - - - - - int x=0,y=0,mark=0; for(x=0;x16;x+) for(y=0;y16;y+) if(snaxy!=0&snaxy!=HEAD&snaxy!=FOOD) snaxy=snaxy-1; for(x=0;x16;x+) for(y=0;y16;y+) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 33 页,共 43 页 - -
37、 - - - - - - - - if(marksnaxy) if(snaxy!=HEAD&snaxy!=FOOD) mark=snaxy; for(x=0;x16;x+) for(y=0;y16;y+) if(snaxy=HEAD) snaxy-1=HEAD; snaxy=mark+1; return; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 34 页,共 43 页 - - - - - - - - - - void rightmove(int (*sna)17)/*控制蛇向右运动的函数 */ i
38、nt x=0,y=0,mark=0; for(x=0;x16;x+) for(y=0;y16;y+) if(snaxy!=0&snaxy!=HEAD&snaxy!=FOOD) snaxy=snaxy-1; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 35 页,共 43 页 - - - - - - - - - - for(x=0;x16;x+) for(y=0;y16;y+) if(marksnaxy) if(snaxy!=HEAD&snaxy!=FOOD) mark=snaxy; for(x=0;x1
39、6;x+) for(y=0;y16;y+) if(snaxy=HEAD) snaxy+1=HEAD;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 36 页,共 43 页 - - - - - - - - - - snaxy=mark+1; return; int judgeF(int (*sna)17,int keym) int randno(); int x,y,mark=0,i=randno(),j=randno(); for(x=0;x16;x+) for(y=0;y16;y+) if(marksn
40、axy) if(snaxy!=HEAD&snaxy!=FOOD)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 37 页,共 43 页 - - - - - - - - - - mark=snaxy; for(x=0;x16;x+) for(y=0;y16;y+) if(snaxy=HEAD) if(snax-1y=FOOD&keym=72) snax-1y=HEAD; snaxy=mark+1; while(snaij!=0) i=randno();精品资料 - - - 欢迎下载 - - - - - -
41、- - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 38 页,共 43 页 - - - - - - - - - - j=randno(); snaij=FOOD; return 1; if(snax+1y=FOOD&keym=80) snax+1y=HEAD; snaxy=mark+1; while(snaij!=0) i=randno(); j=randno(); snaij=FOOD; return 1;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 39 页,共 43
42、页 - - - - - - - - - - if(snaxy+1=FOOD&keym=77) snaxy+1=HEAD; snaxy=mark+1; while(snaij!=0) i=randno(); j=randno(); snaij=FOOD; return 1; if(snaxy-1=FOOD&keym=75) snaxy-1=HEAD;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 40 页,共 43 页 - - - - - - - - - - snaxy=mark+1; while(snai
43、j!=0) i=randno(); j=randno(); snaij=FOOD; return 1; return 0;/*-*/*-主函数没什么内容 -*/精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 41 页,共 43 页 - - - - - - - - - - int main(void) welc(); marksn(); return 0;运行结果:初始界面如图 4 所示:图 4游戏开始如图 5 所示:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 42 页,共 43 页 - - - - - - - - - - 图 5结束界面如图 6 所示:图 6精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 43 页,共 43 页 - - - - - - - - - -