实验三,基于A*算法的迷宫游戏开发

本文介绍了一个基于A*算法的迷宫游戏开发项目。项目要求包括迷宫的随机生成、玩家足迹记录以及A*算法寻路。通过深度优先算法生成迷宫,并在图形界面中展示。游戏具有显示和隐藏路径的功能,但无法显示玩家的所有路径,仅显示最短路径。项目源代码包括Test、Panel、Astart和Maze四个类。
摘要由CSDN通过智能技术生成

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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值