JavaSwing實現木箱搬運工(推箱子)

霧裏看Java 2022-01-07 21:04:20 阅读数:290

javaswing 木箱 箱子

@TOC

木箱搬運工 for JavaSwing

轉載請注明出處https://blog.csdn.net/qq_36665310/article/details/87878897

先放下載鏈接

這是 rar壓縮文件
https://download.csdn.net/download/qq_36665310/10970707
這是 zip壓縮文件
https://download.csdn.net/download/qq_36665310/10970680

閑來無事,對自己兩個月以來的學習進行一次綜合的考驗,寫了一個比較完整小遊戲(推箱子),算是對自己的學習進行一個總結。

話不多說先來看看運行起來是什麼樣的(筆者是在 MacOs10.13上運行的,不知Java的誇平臺作的怎麼樣,大家可以自行複制下面的代碼)
木箱搬運工主窗口
在這裏插入圖片描述
在這裏插入圖片描述

項目結構

咳咳,本人的英文不是很好,所以有些單詞可能不能很清楚的錶達我的意思。大家凑活看,凑活看······
在這裏插入圖片描述

可以看到這個小小的推箱子要是把邏輯結構寫全還是需要很多代碼的,為了達到開閉原則的規定,我把每個功能都單獨的創建了一個類,各負其職

可以看出來,主要還是分三個包

在這裏插入圖片描述
第一個 model包,主要負責遊戲所需要的數據,如地圖的二維數組,人物移動時需要記錄的信息
第二個 service包(本來中間那三個包是在一個裏面的,當時我向分出來,可是eclipse玩不太明白,出來了好多 servicecopy,我把那些 copy 删掉以後就這樣了····)。這個包中主要是提供遊戲中處理數據的服務,如記錄移動步驟、事件監聽器、判斷是否全部的箱子都到達了終點、讀取和寫入 XML 文件等
第三個 view 包顧明思議就是現實圖形界面的類和方法,裏面的類基本上都繼承了 JPanel。由於拆包還是不够徹底,裏面的代碼還是存在一些耦合度的,如:鍵盤監聽器就在一個叫做 GamePanel面板中,後續會把這些功能再拆分的更加明確的。

使用的技術

  • JavaSwing
  • Java多線程
  • XML
  • DOM
  • JavaSE
  • 單例模式

按鍵設置

移動人物:上下左右方向鍵
後退一步:Backspace

由於類文件過多,這裏就上傳一個壓縮包,大家可以自行導入到自己常用的 IDE,但是一定要注意不要隨便改變我的目錄結構,不然改代碼惡心死你···

如果出現編譯失敗或者無法運行的情况,請大家用記事本打開沒個類,然後自己創建class文件進行複制,還是那句話,不要改變目錄結構!!!

版权声明:本文为[霧裏看Java]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201072104198118.html