c++迷宫游戏实验报告材料

上传人:学**** 文档编号:196740809 上传时间:2021-09-22 格式:DOCX 页数:15 大小:204.32KB
返回 下载 相关 举报
c++迷宫游戏实验报告材料_第1页
第1页 / 共15页
c++迷宫游戏实验报告材料_第2页
第2页 / 共15页
c++迷宫游戏实验报告材料_第3页
第3页 / 共15页
c++迷宫游戏实验报告材料_第4页
第4页 / 共15页
c++迷宫游戏实验报告材料_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《c++迷宫游戏实验报告材料》由会员分享,可在线阅读,更多相关《c++迷宫游戏实验报告材料(15页珍藏版)》请在金锄头文库上搜索。

1、精品word学习资料可编辑1,问题描述程序开头运行时显示一个迷宫地图,迷宫中心有一只老鼠,迷宫的右下方有一个粮仓;玩耍的任务是使用键盘上的方向健操纵老鼠在规定的时间内走到粮仓处;根本要求:(1) 老鼠形象可以识别,可用键盘操纵老鼠上下左右移动;(2) 迷宫的墙足够坚固,老鼠不能穿墙而过;(3) 正确检测结果,假如老鼠在规定时间内走到粮仓处,提示成功,并给出一条路径,否如此提示失败;提高要求:(1) 添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路,路变墙;(2) 增加闯关和计分功能;(3) 找出走出迷宫的全部路径,以与最短路径;2. 需求分析软件的根本功能:通过键盘把握光标移动实现老鼠在迷宫

2、中的行走,全部路径 和最短路径的显示,自定义地图墙变路,路变墙 ;在老鼠闯关只能在地图显示是路的地方行走,不能穿墙,有计时功能,当时间完毕时假如没有到达指定地点,显示 game over,查看排行榜,玩耍完毕,假如成功到达指定位置,进去下一关,直到全部关完毕,程序完毕; ;输入/输出形式:用户可以通过把握台,依据输入提示;输入形式: 方向键,空格键, enter键输出形式: 输出地图菜单; 输出地图 输出是否成功信息,输出排行榜3. 概要设计1主程序流程名师归纳总结欢迎下载精品word学习资料可编辑名师归纳总结欢迎下载精品word学习资料可编辑3模块调用关系 :图 1:主程序流程图名师归纳总结

3、欢迎下载精品word学习资料可编辑本程序中函数包括: main 函数, menu函数, menu2函数, mouse类内函数, path类内函数, change 函数, 函数调用关系如下:名师归纳总结欢迎下载精品word学习资料可编辑图 2:函数调用关系4. 详细设计1实现概要设计的数据类型: Mouse 类class mouseprivate:int m_x; int m_y;time_t begin ,stop; public:int move_up(int mapxy,int end);/ 向上移动int move_down(int mapxy,int end);/ 向下移动int mo

4、ve_left(int mapxy,int end);/ 左int move_right(int mapxy,int end);/ 右void initialize(int mapxy,int end)m_x=S;m_y=S;mapendend=9; void print(int mapxy,int end);/ 打印地图名师归纳总结欢迎下载精品word学习资料可编辑void operate(int mapxy,int end,char name30);/ 操作void success();void charts(char Name30);/排行榜;Path 类class Pathpublic

5、:Path()pa=1000;void path(int i,int j,int mapxy,int &t,int end); int check(int i, int j, int d, int mapxy,int end);void Print2(int mapxy, int &t,int end);/打印每条路径void allpath(int s,int e,int mapxy,int &t,int end); private:int pa;2主程序以与其它模块的算法描述: 主函数详细代码 :int main()menu();file(1);v: if(menu2(1,11)=1)/1

6、, 返回当前关卡菜单, 0,进入下一关卡goto v;v2:file(2); if(menu2(2,12)=1)goto v2;v3:file(3); if(menu2(3,13)=1)goto v3;名师归纳总结欢迎下载精品word学习资料可编辑v4:file(4); if(menu2(4,15)=1)goto v4;v5:file(5); if(menu2(5,18)=1)goto v5;final();return 0;Menu2 函数详细代码int menu2(int t,int e)mouse mickey;Path path;int p=0; system(cls);Loc1(15

7、,3);cout Name; Loc1(15,5);cout 第 t 关 endl; cout1)名师归纳总结欢迎下载精品word学习资料可编辑sel-; if(sel=1)a();else if(sel=2)b();else if(sel=3)c();else if(sel=4)d();else if(sel=5)menue();break;case 80: /下/移if(sel6)sel+; if(sel=1)a();else if(sel=2)b();else if(sel=3)c();else if(sel=4)d();else if(sel=5)menue();break;名师归纳总

8、结欢迎下载精品word学习资料可编辑case 13:/回车确定选择if(sel=1)/ 开头闯关mickey.operate(MAP,e,Name); return 0;else if(sel=2)/查看全部路径和最短路径system(cls); path.allpath(9,9,MAP,p,e);return 1;else if(sel=3)/更换地图change(2*(18-e),18-e,e); return 1;else if(sel=4)/查看排名mickey.charts(Name); return 1;else if(sel=5)/退出exit(0);名师归纳总结欢迎下载精品wo

9、rd学习资料可编辑这个函数主要调用了各实现功能函数;其步骤为:用户进入菜单项选择项,方向键把握选中选项移动, enter 进入选中选项;3其它模块的算法描述把握老鼠移动函数功能: 方向键移动老鼠;上方向键进入 Move_up函数if(mapm_x-1m_y=1) return 0;else if(mapm_x-1m_y=9)mapm_xm_y=0; m_x-; mapm_xm_y=3; return -1;elsemapm_xm_y=0;Y=-1;X=0;Loc(2*m_y,m_x); cout; Loc(2*m_y+X,m_x+Y); cout ;m_x-;mapm_xm_y=3;求全部路径

10、功能:输出迷宫全部路径int dir42=-1,0,1,0,0,-1,0, 1;/上下左右名师归纳总结欢迎下载精品word学习资料可编辑int d,tx,ty,p;for(d=0;d4;d+)if(check(i,j,d,map,end)=1)/检查是否可以走tx=i+dird0;ty=j+dird1; p=maptxty;/ 记录状态maptxty=4;/ 标记路径mapendend=0;if(tx=end&ty=end)/ 终点t+ ;/ 路径条数加一Print2(map,t,end);/终点else名师归纳总结欢迎下载精品word学习资料可编辑更换地图功能char key;path(tx

11、,ty,map,t,end);maptxty=p;名师归纳总结欢迎下载精品word学习资料可编辑Loc2(sx,sy);while(1) key=getch();switch(key) case 72:Loc2(sx,-sy); break;case 80:Loc2(sx,sy+); break;case 75:Loc2(sx-=2,sy); break;case 77:Loc2(sx+=2,sy); break;case 32:if(MAPsysx/2=1)MAPsysx/2=0;Loc1(sx,sy);cout;Loc1(sx,sy);else if(MAPsysx/2=0)MAPsysx

12、/2=1;Loc1(sx,sy);名师归纳总结欢迎下载精品word学习资料可编辑cout ; Loc1(sx,sy);break; case 13:return ; default:break;5,编码与调试分析1编码与调试过程中遇到的问题与解决方法:【问题一】通过清屏打印地图实现老鼠移动,屏幕闪烁严肃解决方法:分析得知,通过移动光标打印老鼠位置,可以解决屏闪问题解决此问题的核心代码:COORD pos = a,b;HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut, pos);:时间不能实现连续变化3,使用说明进入菜单,依据提示进展选择: 方向键选择, enter 键进入4,测试结果1进入页面名师归纳总结欢迎下载精品word学习资料可编辑(2) 菜单页面3闯关名师归纳总结欢迎下载精品word学习资料可编辑4打印路径5自定义地图名师归纳总结欢迎下载精品word学习资料可编辑6查看排行榜8,自学学问在课程设计过程中,特别是在代码

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号