版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/winx_coder/article/details/52232947
一直想了解下十分流行的小游戏《炸弹人》后端大致的代码结构和程序逻辑是怎么样的,但又苦于大型游戏项目代码行数太多,没时间阅读。终于在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,也没有注重游戏的美观和可玩性,所以代码非常精炼,适合初学者进行源码剖析。
代码量: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)前端: