(3)利用栈,来存入当前位置,然后判断下一位置,是否有路,存入栈中或出栈。(4)把每个数组元素对应一个按钮根据点击按钮,改变数组的值从而改变墙和路的
转化。5键盘接受字符,根据字符调用不同的图片,达到老鼠超前走的效果。
2、数据结构
本程序运用的逻辑结构是线性和存储结构为顺序。之所以采用本结构是因为,迷宫主要用到栈来储存当前位置,和判断下一位置,来入栈。抽象数据类型线性表的定义如下:ADTStack数据对象:Daiai∈ElemSeti123……,
≥0数据关系:R1ai1aiai1ai∈Di123……,
基本操作:I
itstacks操作结果:构造一个空栈s。Stackempty(s)初始条件:栈s已经存在。操作结果:将s清为空栈。Push(s,e)初始条件:栈s已经存在。操作结果:插入元素e为新的栈顶元素。Pop(s,e)
第1页
f初始条件:栈s已经存在,且非空。操作结果:删除s的栈顶元素,并用e返回其值。ADTStack
3、根据课程设计题目的功能要求,总体概要的组成框图如下:
开始
操作界面
保
载
地
迷
游
音
小
用
存
入
图
宫
戏
效
老
户
地
地
的
自
时
设
鼠
登
图
图
绘
动
间
置
键
陆
制
寻
设
盘
界
路
置
操
面
结束
22、操作流程图
1、键盘操作流程:
第2页
f开始
按下键盘N
按方向键up
方向键dow
Y方向键left方向键right
ifwallij0wallij2
Y
判断是否到达粮仓
NY
N根据对应的操作老鼠进行相应的修改x,y
结束
2、模块流程图:
开始第3页
fN是否撞墙Y停止移动
模块初始化加载迷宫地图
判断键是否按下Y
老鼠移动
到达终点Y
游戏结束
N
启动计时
N时间为零NY
面向对象而非面向工程的程序设计,事件和判断都具有同时性和并发性。3、游戏界面显示
第4页
f点击开始按钮
新建登陆dlg类对象,并且显示出来
初始化迷宫数组
根据对应的迷宫数组初始化迷宫地图,同时初始化背景音乐,显示当前设置时间和剩余时间。
3、详细设计
31、程序中所采用的数据结构及存储结构的说明数据类型:结构体,整形数据
输入:按照窗口、菜单提示按鼠标左键移动老鼠位置,按键盘的上、下、左、右键
输出:可视化迷宫
32、函数功能模块说明(1)开始游戏voidCMai
FrameO
Start:开始游戏。voidCLabyri
thViewO
KeyDow
UINT
CharUINT
RepC
tUINT
Flags:小老鼠键盘操。第一个参数表示哪个按键,接受上、下、左、右字符,判断调用哪个小老鼠图片,最后用脚印图片覆盖老鼠图片,达到朝前走,留下脚印的效果。(2)重新开始voidCMai
FrameO
Sysmap:系统地图。voidCLabyrir