仅900行的Java简易《炸弹人》(适合初学者源码剖析)

(本文更新时间: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人机对战)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章