数据结构课设-小老鼠走迷宫(JAVA版)

数据结构课设-小老鼠走迷宫(JAVA版)题目内容 程序开始运行时显示一个迷宫地图 迷宫中央有一只老鼠 迷宫的右下方有一个粮仓

大家好,欢迎来到IT知识分享网。

学校题目:

题目内容:

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

基本要求:

⑴老鼠形象可以辨认,可用键盘操纵老鼠上下左右移动;

⑵迷宫的墙足够结实,老鼠不能穿墙而过;

⑶正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,并给出一条路径,否则提示失败。

⑷添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙。

提高要求:

⑴增加闯关和计分功能;

⑵找出走出迷宫的所有路径及最短路径。

题主在实现这些功能之后 又增加了猫咪追击老鼠

迷宫生成算法:

迷宫的核心算法设计:

1.迷宫生成算法

(1)算法功能描述

利用递归回溯/深度优先随机生成迷宫

(2)算法描述

a.将起点作为当前迷宫单元并标记为已访问

b.当还存在未标记的迷宫单元,进行循环

①.如果当前迷宫单元有未被访问过的的相邻的迷宫单元

㈠.随机选择一个未访问的相邻迷宫单元

㈡.将当前迷宫单元入栈

㈢.移除当前迷宫单元与相邻迷宫单元的墙

㈣.标记相邻迷宫单元并用它作为当前迷宫单元

②.如果当前迷宫单元不存在未访问的相邻迷宫单元,并且栈不空

㈠.栈顶的迷宫单元出栈

㈡.令其成为当前迷宫单元

2.迷宫查找算法

(1)算法功能描述

利用深度优先DFS递归查找路径

(2)算法描述

定义DFS  如果我们超过边界或者已访问过,如果有墙就返回

如果我们走到了终点 我们将整条路径加入集合中 然后回溯一格

如果没有走到终点 我们添加当前坐标 并且将当前坐标设置为已访问

然后递归 向右 向下 向左 向上 依次递归

将当前坐标设置为未访问  然后回溯

运行结果:

971c8e097ec04d4b92208892ec1cd049.png

最短路径界面

78ccf1a4016a4a63a340430cebac4caf.png

所有路径 

93d67b716274479d88267f1b30706900.png

通关后界面

5dd477b8488b4b1786dd29fe57e3c68c.png

 附上阿里云盘链接:

https://www.aliyundrive.com/s/jVaa9imNXHf 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

已上传csdn资源仓库  有需者自取  免费答疑

Gitee地址 Keshe: 大二数据结构课设 (gitee.com)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/105784.html

(0)
上一篇 2026-02-15 13:46
下一篇 2026-02-15 16:21

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信