课程设计--- 贪吃蛇小游戏程序设计

课程设计--- 贪吃蛇小游戏程序设计

ID:11394463

大小:143.50 KB

页数:11页

时间:2018-07-11

课程设计--- 贪吃蛇小游戏程序设计_第1页
课程设计--- 贪吃蛇小游戏程序设计_第2页
课程设计--- 贪吃蛇小游戏程序设计_第3页
课程设计--- 贪吃蛇小游戏程序设计_第4页
课程设计--- 贪吃蛇小游戏程序设计_第5页
资源描述:

《课程设计--- 贪吃蛇小游戏程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、信息技术学院本科课程设计报告课程设计题目学生姓名:李雪学院:信息技术学院专业:信息管理与信息系统班级:B1102学号:0911110201指导教师:王浩涌完成日期:辽东学院EasternLiaoningUniversity一、题目(问题)描述贪吃蛇小游戏程序设计图1贪吃蛇系统界面二、功能分析贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。一、系统设计1.程序总体结构图2

2、贪吃蛇程序系统的构图2.界面设计如图,通过W、S、A、D、space键进行操作3.输入方式设计A用W、S、A、D、键控制蛇的上下左右移动,space键停止,esc键结束。B游戏目标:操纵屏幕上那条可爱的小蛇,在方框中不停吃豆豆,而每吃一个豆豆,蛇的身体都变的更长一些,即增加一颗星星。游戏的难度也会随之加大。C游戏终止:终止条件1——蛇头撞到墙上;终止条件2——蛇身形成一个圈,也就是蛇头碰到自身的任何一处4.重要数据的数据结构设计5.函数设计6.函数调用图7.实体属性图一、关键技术、难点及其解决方法二、测试方法三、总结附录1程序源代码#include#incl

3、ude#include#include#include#include#defineN21intapple[3];charscore[3];chartail[3];voidgotoxy(intx,inty)//输出坐标{COORDpos;pos.X=x;pos.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}voidcolor(intb)//颜色函数{HANDLEhConsole=GetStdHandle

4、((STD_OUTPUT_HANDLE));SetConsoleTextAttribute(hConsole,b);}intBlock(charhead[2])//判断出界{if((head[0]<1)

5、

6、(head[0]>N)

7、

8、(head[1]<1)

9、

10、(head[1]>N))return1;return0;}intEat(charsnake[2])//吃了苹果{if((snake[0]==apple[0])&&(snake[1]==apple[1])){apple[0]=apple[1]=apple[2]=0;gotoxy(N+44,10);color(13);printf

11、("%d",score[0]*10);color(11);return1;}return0;}voidDraw(char**snake,intlen)//蛇移动{if(apple[2]){gotoxy(apple[1]*2,apple[0]);color(12);printf("●");color(11);}gotoxy(tail[1]*2,tail[0]);if(tail[2]){color(14);printf("★");color(11);}elseprintf("■");gotoxy(snake[0][1]*2,snake[0][0]);color(14);printf(

12、"★");color(11);putchar('');}char**Move(char**snake,chardirx,int*len)//控制方向{inti,full=Eat(snake[0]);memcpy(tail,snake[(*len)-1],2);for(i=(*len)-1;i>0;--i)memcpy(snake[i],snake[i-1],2);switch(dirx){case'w':case'W':--snake[0][0];break;case's':case'S':++snake[0][0];break;case'a':case'A':--snake

13、[0][1];break;case'd':case'D':++snake[0][1];break;default:;}if(full){snake=(char**)realloc(snake,sizeof(char*)*((*len)+1));snake[(*len)]=(char*)malloc(sizeof(char)*2);memcpy(snake[(*len)],tail,2);++(*len);++score[0];if(score[3]<16)++score[3];t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。