软件技术实习项目:实验三、迷宫游戏设计

迷宫游戏设计
摘要由CSDN通过智能技术生成

目录

 1.系统简介

1.1设计背景

1.2开发工具及环境

2.系统分析与设计

2.1设计目的

2.2功能需求

2.3系统功能代码设计

2.3.1算法说明

3.系统调试

3.1编写源程序界面

4.设计总结

附录:源代码


1.系统简介

1.1设计背景

迷宫是一个经典的游戏,陪伴了几代人的童年,借此机会,在锻炼自身编程水平的同时还原这一经典游戏。

1.2开发工具及环境

(1)开发工具及介绍
IntelliJ IDEA2021是一款专业的JAVA IDE编程工具,最新版本支持git、svn、github等版本控制工具,并整合了智能代码助手、代码自动提示等功能,软件的强大的静态代码分析和人体工程学设计,能够让用户的开发设计变得简单轻松。同时,它也被认为是当前Java开发效率最快的IDE工具。 
(2)开发环境:window10系统、IntelliJ IDEA2021、JDK17。

2.系统分析与设计

2.1设计目的

随机生成迷宫并且尝试用两种方法生成迷宫和解迷宫,支持玩家走迷宫和系统走迷宫,玩家走迷宫需通过键盘方向键控制;系统走迷宫需要输出走到迷宫出口的最优解。

2.2功能需求

1迷宫游戏是非常经典的游戏,在该题中要求随机生成一个迷宫,并求解迷宫;

2要求查找并理解迷宫生成的算法,并尝试用两种不同的算法来生成随机的迷宫。

3要求迷宫游戏支持玩家走迷宫,和系统走迷宫路径两种模式。玩家走迷宫,通过键盘方向键控制,输出玩家当前位置到迷宫出口的最优路径。设计交互友好的游戏图形界面。

2.3系统功能代码设计

2.3.1算法说明

主要思路是从图中一个未访问的顶点 V 开始,沿着一条路一直走到底,然后从这条路尽头的节点回退到上一个节点,再从另一条路开始走到底...,不断递归重复此过程,直到所有的顶点都遍历完成,它的特点是不撞南墙不回头,先走完一条路,再换一条路继续走。

树是图的一种特例(连通无环的图就是树),接下来我们来看看树用深度优先遍历该怎么遍历。

1、我们从根节点 1 开始遍历,它相邻的节点有 2,3,4,先遍历节点 2,再遍历 2 的子节点 5,然后再遍历 5 的子节点 9。

2、上图中一条路已经走到底了(9是叶子节点,再无可遍历的节点),此时就从 9 回退到上一个节点 5,看下节点 5 是否还有除 9 以外的节点,没有继续回退到 2,2 也没有除 5 以外的节点,回退到 1,1 有除 2 以外的节点 3,所以从节点 3 开始进行深度优先遍历,如下:

3、同理从 10 开始往上回溯到 6, 6 没有除 10 以外的子节点,再往上回溯,发现 3 有除 6 以外的子点 7,所以此时会遍历 7。

3、从 7 往上回溯到 3, 1,发现 1 还有节点 4 未遍历,所以此时沿着 4, 8 进行遍历,这样就遍历完成了。

完整的节点的遍历顺序如下(节点上的的蓝色数字代表):

  • 0
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值