欢迎来到天天文库
浏览记录
ID:14077233
大小:409.00 KB
页数:62页
时间:2018-07-25
《毕业设计_c++贪吃蛇课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C++贪吃蛇课程设计文档班级:学生:日期:指导老师:学号:目录一、软件需求分析11、可行性分析1(1)经济可行性1(2)法律可行性1(3)技术可行性12、用户需求概述2二、软件分析与设计41、整体设计(概要设计)42、详细设计5三、编码实现5四、测试5总结12附录:C++语言课程设计任务书1XXXXXXX一、软件需求分析1、可行性分析(1)经济可行性我的这个游戏使用的是c++语言,并且使用的是免费的编译器,所以不需要任何经济基础就可以进行开发,而且贪吃蛇游戏是一个适合各个年龄段的游戏,游戏简单,画面小清新。而且玩这个游戏绝对免费。(2)法律可行性本游戏使用的是devc++5.5版本的编
2、译器,免费的正版编译器,并且开发系统也是正版的windows8.1操作系统,从构思到编写运行,全部是自己一个人的劳动成果,法律上不存在任何侵权行为。游戏logo是我的名字的缩写,绝对不会侵权。(3)技术可行性技术上使用windows.h这个头文件下的函数,例如游戏中的清屏system(“cls”);,游戏中的按键判断使用的是conio.h下面的g57XXXXXXXetch();通过kbhit函数来判断是否有按键按下,使用COORD结构体的变量来接收坐标,HANDLEhOut=GetStdHandle(STD_OUTPUT_HANDLE);通过这行的代码来获取输出句柄,通过SetCons
3、oleCursorPosition()函数来设置刚才通过hOut获取的输出光标到刚才COORD结构体的变量接收的坐标中,我把这一块的功能封装到gotoxy(intx,inty)函数中,可以很方便的使用,做出很多绚丽的动画,还有蛇的行走,蛇的增长使用vector,,通过push_back来增加蛇的长度,通过swap一个空的vector来释放内存。这样就可以做出贪吃蛇的游戏的核心功能。所以在技术上不存在任何难度。2、用户需求概述表1数据结构(类Game_map)成员表类型定义内容描述构造函数Game_map();初始化游戏地图成员变量intx绘制游戏地图的x坐标成员变量inty绘制游戏地图
4、的y坐标表2数据结构(类food)成员表类型定义内容描述构造函数food()空的构造函数静态成员函数voidmake()这个是最核心的函数,用来在地图上产生一个食物,并且显示最高分和当前分数。静态成员函数staticintget_fx()返回类的fx的值静态成员函数staticintget_fy()返回类的fy的值静态成员变量staticintfx存储食物的x轴坐标静态成员变量staticintfy存储食物的y轴坐标57XXXXXXX表3数据结构(类sbody)成员表类型定义内容描述构造函数sbody();初始化蛇的身体图像静态成员函数staticvoidsetv(intspeed)设
5、置类的V变量静态成员函数staticintgetv()返回类的V变量的值静态成员函数staticintgetN()返回类的N变量的值静态成员函数staticintsetN设置类的N变量的值静态成员函数staticvoidaddN()使类的N变量自加友元类friendclassfood;主要在food的make函数中判断蛇的食物是否出现在蛇的身体上友元函数friendvoidweek();控制蛇的移动,判断死亡,增长身体成员变量intx蛇身的x轴坐标成员变量inty蛇身的y轴坐标成员变量charbody;蛇身的图像静态成员变量staticintV蛇的行走速度静态成员变量staticint
6、N;蛇身体的长度表4数据结构(类control)成员表类型定义内容描述构造函数control()空的构造函数成员函数voidorder();游戏的菜单成员函数voidgameover();把数据存入文件,输出死亡界面,并且判断是否要继续游戏。成员函数voidlogo();游戏的logo成员变量intbutton;用来接收第一层菜单按键返回值静态成员变量staticintMAX;记录游戏的最高分静态成员函数staticintget_MAX()返回MAX的值57XXXXXXX静态成员函数staticintset_MAX(intm)修改MAX的值功能描述:键盘上的上下左右来进行上下左右移动,
7、回车键是确认键,吃到食物就会变长,有4种颜色可供选择,3种难度可以选择。二、软件分析与设计主菜单1、整体设计(概要设计)退出游戏选择颜色选择难度开始游戏绿红白紫高中低57XXXXXXX2、详细设计maingamecontrol对象调用logo函数gamecontrol对象调用order函数主菜单设置颜色设置难度双箭头可以返回开始游戏读取文件Game_map的构造函数绘制游戏地图food::make()week()57XXXXXXXgamecon
此文档下载收益归作者所有