数据结构课程设计迷宫算法的实现_java.doc
还剩
24页未读,
继续阅读
下载文档到电脑,马上远离加班熬夜!
亲,喜欢就下载吧,价低环保!
内容要点:
路5. 点击“Reset”可复位,即显示出原先的迷宫。6. 进度条可控制搜寻迷宫通路过程的速度。六、 存在的问题及解决方案本次数据结构课程设计,我设计的是迷宫通路求解。主要使用了 JAVA AWT 包和JAVA SWING 包。在求解迷宫算法的设计中,虽然能有一条通路,但路径唯一,可多设置几条路径使迷宫难度增加。1. 本程序的运行环境为 JAVA2. 进入演示程序后即显示图形用户界面:3. 单击“Move!”按钮即可开始走迷宫。迷宫运行后如图红色数字部分为其中一条通路。4. 点击“Clean”按钮可消除搜寻迷宫通路留下的痕迹,点击“Move ”可重新搜寻迷宫通已找到目标if (row rows - 1 || col cols - 1|| !map[row][col] || hasFound) {return;}// 找到了else if (goal.width == row && goal.height == col) {hasFound = true;stack_route = (Stack) stack.clone();}// 向四个方向探 测// 根据stack_hasWalk、stack_route 演示已经的路和正确的路private void printWalking() {stack_hasWalk.reverse();timer.setDelay(Main.speed);timer.start();}// 用于 timer中激发的事件,演示慢慢走路class ActionListener_Timer implements A * 设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。* * 下面用 递归实现 ,实际上就是用了图深度优先遍历 走过的格子直接标记为障碍 line 76: 入栈、入递归、出栈,为了保持现场,类似于Practice_2_3public class Walking {private int rows;private int cols;private DimensionhasFound = true;stack_route = (Stack) stack.clone();}// 向四个方向探 测 ,顺时钟else {// 标记已走过map[row][col] = false;stack_hasWalk.push(new Dimension(row, col));// 右stack.push(new Dimension(row, col + 1));spider(class ActionListener_Timer implements ActionListener {public void actionPerformed(ActionEvent e) {Dimension d;// 走完了if (stack_hasWalk.isEmpty()) {// 标记正确路 线while (!stack_route.isEmpty()) {d = (Dimensiprivate int cols;private Dimension goal;@SuppressWarnings("unused")private Dimension begin;// false 为障碍或已走 过private boolean map[][];private Stack stack, stack_hasWalk, stack_route;private boolean hasF}package hartech.kids.maze;import java.awt.BorderLayout;import java.awt.Color;import javax.swing.*;public class App
发表评论
暂无评论,赶快抢占沙发吧。