僅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人機對戰)

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