c++迷宫游戏实验报告 下载本文

内容发布更新时间 : 2024/6/27 2:25:24星期一 下面是文章的全部内容请认真阅读。

1、问题描述

程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。游戏的任务是使用键盘上的方向健操纵老鼠在规定的时间内走到粮仓处。 基本要求:

(1) 老鼠形象可以辨认,可用键盘操纵老鼠上下左右移动; (2) 迷宫的墙足够结实,老鼠不能穿墙而过;

(3) 正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,并给出一条

路径,否则提示失败。 提高要求:

(1) 添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙; (2) 增加闯关和计分功能;

(3) 找出走出迷宫的所有路径,以及最短路径。

2.需求分析

软件的基本功能:通过键盘控制光标移动实现老鼠在迷宫中的行走、全部路径和最短路径的显示、自定义地图(墙变路,路变墙)。在老鼠闯关只能在地图显示是路的地方行走,不能穿墙,有计时功能,当时间结束时若没有到达指定地点,显示game over,查看排行榜,游戏结束,若成功到达指定位置,进去下一关,直到所有关结束,程序结束;。

输入/输出形式:用户可以通过控制台,根据输入提示。 输入形式:

① 方向键、空格键、enter键 输出形式:

① 输出地图菜单。 ② 输出地图

③ 输出是否成功信息、输出排行榜

3.概要设计

(1)主程序流程

1

图1:主程序流程图

(3)模块调用关系:

本程序中函数包括:main函数,menu函数,menu2函数,mouse类内函数,path类内函数,change函数,

函数调用关系如下:

2

图2:函数调用关系

4.详细设计

(1)实现概要设计的数据类型:

Mouse类 class mouse { private: int m_x; int m_y;

time_t begin ,stop; public:

int move_up(int map[x][y],int end);//向上移动 int move_down(int map[x][y],int end);//向下移动 int move_left(int map[x][y],int end);//左 int move_right(int map[x][y],int end);//右

void initialize(int map[x][y],int end){ m_x=S;m_y=S;map[end][end]=9;} void print(int map[x][y],int end);//打印地图

3