开发Windows迷宫游戏——(一)前期准备

在开始动手之前

在上一次使用Java完成了贪吃蛇的开发后,感觉迷宫和贪吃蛇的绘图差不多,所以本次项目全程依旧使用 Java 编写。

项目需求分析

迷宫项目要求实现游戏的基本功能,例如生成迷宫、人物、能控制人物的移动,当走到终点时游戏结束,同时要求引入系统自动解迷宫的功能。

功能分析

绘制迷宫和贪吃蛇类似,只需要绘制线条作为墙,而空余部分作为可行走路线。需要注意的是,这次并未选择将墙和路径做成等宽的,较细的墙可以增加游戏的难度。和贪吃蛇不同,这次绘制人物以及行走痕迹不再使用Java的绘图函数,而是直接创建自定义的图片,由对应的函数贴至指定位置。移动人物和贪吃蛇类似,只不过不再需要额外的标志位用于锁存,本次仍然使用timer控制游戏的进程,只不过仅在有按键按下才触发actionPerformed方法。
生成迷宫可以使用深度优先算法,结合一定程度的随机选择,可以让迷宫每次都不一样。解迷宫可以使用A星算法,计算代价和,选择最优解。

补充

人物行走痕迹有重合的情况,所以使用有透明度的图片,每次走过同一地方时,叠加后的透明度会降低,方便区分。由于绘图时不区分每个可以行走的格子,所以在行走时可以画一条线连接前后路径,方便观察。

致谢

本项目的完成离不开以下教程的指导和参考:

初学者入门A星算法——简体中文翻译版

A星寻路算法

A星寻路:算法解释

Python中的广度优先算法和深度优先算法

Java枚举类型详解和使用

Java枚举类型的使用

Java paint()和paintComponent()方法的区别

使用Java AWT和Java Swing实现绘图

Java paint()和repaint()方法的区别

Java记录一次栈的溢出

Java Vector向量的使用

Java ArrayList列表的使用

Java反转ArrayList

Java如何实现延迟——简体中文翻译版

Java Timer定时器的使用

Java显示png图像

后续

下一篇地址 开发Windows迷宫游戏——(二)代码实现

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值