(本文更新时间:2020-06-19)
一直想了解下十分流行的小游戏《炸弹人》后端大致的代码结构和程序逻辑是怎么样的,但又苦于大型游戏项目代码行数太多,没时间阅读。终于在GitHub上找到一个代码量仅900行的Java《炸弹人》游戏HAW-PO-LA-Bomberman。
1.项目下载
(1)Github项目首页
(2)CSDN资源下载
2.项目简介
HAW-PO-LA-Bomberman是一个非常简单的《炸弹人》Demo,是HAW-PO-LA-Bomberman-TeamLKT的子项目。(HAW-PO-LA-Bomberman-TeamLKT主要用于研究强化学习(reinforced learning)AI算法。)
这个游戏不包含AI,也没有复杂的UI,所以代码非常精炼,适合初学者进行源码剖析。
(注:如果你正在寻找包含AI算法的炸弹人游戏,请参阅文末的Bombermaaan项目)
代码量:878行 (前端:237行,后端:641行)(包含注释:1353行)
前端GUI:使用JDK中的AWT和Swing库绘制GUI(未调用第三方游戏引擎)
3.项目要点
(1)后端与前端代码分离,耦合性低。
(2)通过递归,巧妙地实现了Bomb爆炸后链式引爆相邻的Bomb(代码位于Game.java/chainExplosions()函数中)
(3)有多个参数是可配置的(配置参数须在GuiMain.java中修改)
(4)细节:可同时放置多个Bomb,定时器互不影响;防止Bomb的冲击波穿透墙壁……
4.代码简要分析
4.1 后端UML类图
4.2 类-简要说明
(1)后端:
(2)前端:
5.更进一步
觉得这个项目太LOW了? 美工太简陋? 想找个带AI算法的企业级炸弹人游戏?
请移步:Bombermaaan-最好的开源炸弹人游戏(SFC复刻版,支持AI人机对战)