1.项目概述
1.1项目内容与要求
要求:
1、迷宫随机生成
2、玩家走迷宫,留下足迹;
3、系统用A*算法寻路,输出路径
内容:
1、如何显示迷宫的图形界面;
2、如何生成随机的迷宫;
3、怎样移动游戏中走迷宫的“玩家”;
4、用A*算法求解迷宫;
2.项目设计
深度遍历生成迷宫
A*算法走迷宫
参考 A*算法详解(讲的一级棒 )_NL的博客-CSDN博客_a*算法
3.程序运行及结果分析
游戏初始界面:
游戏结束界面:
分析:
1,迷宫游戏的大体功能得以实现;
2,设置了画出路径和隐藏路径按钮,方便玩家取得游戏的胜利;
3,加入了有趣的图片和唯美的背景图,增加了游戏的可玩性。
不足:
不能显示出玩家走过的全部路径,只能显示成功到达迷宫出口的最短路径。
4.完整源代码
Test类
import java.awt.*;
import javax.swing.JFrame;
public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();//新建窗口
int width = Toolkit.getDefaultToolkit().getScreenSize().width;// 取得屏幕宽度
int height = Toolkit.getDefaultToolkit().getScreenSize().height;// 取得屏幕高度
frame.setSize(600, 600);// 设置窗体大小
frame.setLocation((width - 600) / 2, (height - 600) / 2);// 设置窗体出现大小
frame.setResizable(false);// 设置窗体大小不可变
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗体关闭方式
frame.add(new Panel());
frame.setFocusable(true);//为屏幕添加焦点
frame.setVisible(true);// 设置窗体可视
frame.requestFocus();
}
}
Panel类
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.