欢迎来到天天文库
浏览记录
ID:35358930
大小:57.86 KB
页数:23页
时间:2019-03-23
《数据结构课程设计--吃豆子游戏的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、目录1设计目的和要求11.1设计目的11.2设计要求12问题描述13需求分析24设计24.1程序设计过程24.2程序结构的划分和各部分功能的主要函数34.3函数之间的调用关系45测试分析55.1程序测试55.2测试问题66完整代码77设计体会与小结23成绩评定表27吃豆子游戏的设计与实现《数据结构》课程设计报告1设计目的和要求1.1设计目的通过本次课程设计,希望达到如下目的:1)综合应用《数据结构》课程所学知识,掌握基本数据的逻辑结构、物理结构和基本操作,灵活应用基本的数据技术;2)提高学生使用c语言解决具体问题的
2、能力;3)强化模块化程序设计的能力;4)引导学生初步掌握软件开发的基本流程,培养团队开发的意识;5)训练规范化编码和文档撰写的能力。1.2设计要求本次课程设计需符合以下技术要求:1)规范化编码:变量、函数命名需符合一定规范(可自定义),编码格式良好(缩进等),需对文件、函数进行功能方面的注释,代码具有良好的可读性;2)模块化编码:分函数实现子功能,并有能力将子功能按设计要求组合成可执行代码;3)交互友好:输入数据有提示,有一定的容错能力;4)测试:测试应较全面的覆盖全部可能的执行路径,针对核心代码应多次充分测试。5
3、)文档:文档应该结构完整,层次清晰,格式符合标准要求,语句通顺,表述准确,用词得当,图、表组织正确合理。2问题描述吃豆子游戏是一款益智小游戏,该游戏利用数组描绘出地图,计算游戏角色的初始位置,玩家通过移动小虫子吃掉地图上的所有豆子,即可取胜。还可22吃豆子游戏的设计与实现以设计更多的游戏关卡,使游戏更加刺激好玩,未来一定成为一款人人喜爱的益智游戏。1需求分析吃豆子游戏是一款广为人知的经典游戏,玩家利用键盘上的上下左右键(或‘w’‘a’‘s’‘d’)来控制小虫的走势,吃掉地图上的豆子。在躲避四周移动的敌人的同时,当豆
4、子全被吃光即一局游戏胜利完成。总体需要利用程序实现整个游戏的显示功能、选择功能、统计功能以及胜负判断功能。2设计2.1程序设计过程通过需求分析,我们可知吃豆子游戏要实现的功能大致有以下几个部分:1)显示功能:程序开始运行时,给出进入游戏开始界面以及规则界面;游戏开始后要求生成的游戏地图:并在地图上显示游戏角色,游戏进行过程中,要求实时显示小虫及敌人的移动;游戏胜负后,要求给出选择界面,选择是否继续或退出。2)选择功能:程序开始时,需玩家确定而后开始游戏;游戏过程中,玩家通过不同的按键移动小虫,吃地图上的豆子,同时躲
5、避敌人;游戏结束时,玩家选择是否开始新一局。3)统计功能:统计小虫吃掉豆子后的得分情况。4)胜负判断功能:实时监测地图上的每个角色,豆子被吃光则游戏胜利,若小虫被敌人吃掉,则游戏失败,并弹出选择结束或再来一把的界面。系统的功能模块图如图1所示。22吃豆子游戏的设计与实现吃豆子游戏显示功能选择功能统计功能胜负判断功能图1系统的功能模块图1.1程序结构的划分和各部分功能的主要函数根据功能需求,将程序分为:显示功能模块、选择功能模块、统计功能模块、胜负判断模块。1)各类头文件,变量及宏定义#include6、>#include#include#includeintBeansum=0;intGamescore=0;//记录游戏分数boolg_win=true;//判断输赢IMAGEimage[5];//图片存储enum{LEFT=1,RIGHT,UP,DOWN};//方向的控制structfigure//人物属性{intx;//人物图纸坐标inty;intx1;//人物方向移动inty1;intx2;//人物物理坐标22吃豆子游戏的设计与实现inty2;}Man,7、Ghost[5];1)显示功能模块voidDrawImg();//开始界面voidInitia();//游戏界面voidload_image();//加载图片voidInit_copy();//图形复制voidInit_leave();//退出2)选择功能模块voidGhostmove();//敌人运动voidranddire(structfigure*sth);//随即改变方向booljudgemeet();//相遇判断voidManmove(intk,intspeed);//自己移动voideatbean();8、//判断是否吃小黄点voidplay();//开始游戏intrandom(inta,intb);//产生a,b之间的数voidGhostmeetroad(inti);//敌人遇路voidGhostmeetbean(inti);//敌人遇豆子voidenterorexit();//是否继续游戏3)胜负判断模块voidInit_win();//成功voidIni
6、>#include#include#includeintBeansum=0;intGamescore=0;//记录游戏分数boolg_win=true;//判断输赢IMAGEimage[5];//图片存储enum{LEFT=1,RIGHT,UP,DOWN};//方向的控制structfigure//人物属性{intx;//人物图纸坐标inty;intx1;//人物方向移动inty1;intx2;//人物物理坐标22吃豆子游戏的设计与实现inty2;}Man,
7、Ghost[5];1)显示功能模块voidDrawImg();//开始界面voidInitia();//游戏界面voidload_image();//加载图片voidInit_copy();//图形复制voidInit_leave();//退出2)选择功能模块voidGhostmove();//敌人运动voidranddire(structfigure*sth);//随即改变方向booljudgemeet();//相遇判断voidManmove(intk,intspeed);//自己移动voideatbean();
8、//判断是否吃小黄点voidplay();//开始游戏intrandom(inta,intb);//产生a,b之间的数voidGhostmeetroad(inti);//敌人遇路voidGhostmeetbean(inti);//敌人遇豆子voidenterorexit();//是否继续游戏3)胜负判断模块voidInit_win();//成功voidIni
此文档下载收益归作者所有