從零開始實現放置游戲(二)——整體框架搭建


  上一篇,我們講解了游戲的大概背景,知道了要做什么內容。現在已經可以開始搭建游戲的代碼框架。

整體架構

  我們將整個項目命名為idlewow,目前包含以下幾個模塊idlewow-facade, idlewow-core, idlewow-hessianserver, idlewow-rms, idlewow-util, idlewow-game, idlewow-doc。

  其中,facade模塊是jar包項目,供內部其他項目引用,主要定義模型類、接口類。core模塊是jar包項目,實現系統的主要業務邏輯以及對數據庫的訪問。hessianserver模塊是war包項目,將系統的接口暴露給其他內部項目。rms模塊是war包項目,是后台運營系統或叫資源管理系統,主要給GM使用,進行配置,rms模塊本身不訪問數據庫,而是通過調用hessian接口,與底層數據進行交互。game模塊是war包項目,是web形式的游戲客戶端,部分游戲邏輯寫在此模塊中,也通過hessian接口訪問系統數據。util模塊是jar包項目,主要實現一些工具類,供其它模塊引用。doc項目可有可無,我拿來提交一些sql腳本,策划表格等內容。整個項目的架構大致如下圖(其中Rest模塊目前並沒有,僅占位示意):

項目架構圖

操作步驟

1.新建項目

  打開Idea,左上角菜單File --> New --> Project,  選擇Maven項目,不使用模板,GroupId、ArtifactId和Projec name都填寫idlewow即可,JDK選擇1.8。(如沒有1.8版本,可在前言章節中查看下載地址)

新建項目

  新建完畢后,因為是maven項目,IDE檢測到pom.xml會在右下角彈出提示,如下圖,選擇”Enable Auto-Import",開啟自動包下載,后面修改pom.xml后,按Ctrl+S保存即可自動更新包。

maven提示框

2.添加模塊

  idlewow作為根目錄下面不需要寫代碼,src文件夾可以刪掉。右鍵根目錄,選擇 New --> Module 來添加模塊。同樣選擇maven項目,不使用模板。因為是一個模塊,GroupId默認為idlewow,以core項目為例,ArtifactId填寫 idlewow-core。點擊下一步,填寫 module name 時,會默認沒有中划線,需要手動加上,然后點擊完成即可。

  然后依次創建各個模塊。完成后如下圖:

各項目模塊

3.添加依賴關系

  maven項目通過pom.xml管理依賴,類似於C#里添加DLL引用,這里根目錄下的pom.xml暫時無需改動。

  首先,在各個模塊的pom里,artifactId節點后面添加 packaging 節點,如<packaging>war</packaging>,是war包項目的填寫war,jar包項目填寫jar。

  在core模塊中,添加依賴如下:

 1 <dependencies>
 2     <dependency>
 3         <groupId>idlewow</groupId>
 4         <artifactId>idlewow-facade</artifactId>
 5         <version>1.0-SNAPSHOT</version>
 6     </dependency>
 7     <dependency>
 8         <groupId>idlewow</groupId>
 9         <artifactId>idlewow-util</artifactId>
10         <version>1.0-SNAPSHOT</version>
11     </dependency>
12 </dependencies>
pom.xml

  在hessian模塊中,添加依賴如下:

 1 <dependencies>
 2     <dependency>
 3         <groupId>idlewow</groupId>
 4         <artifactId>idlewow-core</artifactId>
 5         <version>1.0-SNAPSHOT</version>
 6     </dependency>
 7     <dependency>
 8         <groupId>idlewow</groupId>
 9         <artifactId>idlewow-facade</artifactId>
10         <version>1.0-SNAPSHOT</version>
11     </dependency>
12 </dependencies>
pom.xml

  在rms模塊中,添加依賴如下:

 1 <dependencies>
 2     <dependency>
 3         <groupId>idlewow</groupId>
 4         <artifactId>idlewow-facade</artifactId>
 5         <version>1.0-SNAPSHOT</version>
 6     </dependency>
 7     <dependency>
 8         <groupId>idlewow</groupId>
 9         <artifactId>idlewow-core</artifactId>
10         <version>1.0-SNAPSHOT</version>
11     </dependency>
12 </dependencies>
pom.xml

  注意:前面的架構圖中,rms通過hessian接口訪問數據層,此處應不必添加對core的依賴。但為了開發和部署方便,實際開發時,我在rms模塊直接引用core層訪問數據。

  在game模塊中,添加依賴如下:

1 <dependencies>
2     <dependency>
3         <groupId>idlewow</groupId>
4         <artifactId>idlewow-facade</artifactId>
5         <version>1.0-SNAPSHOT</version>
6     </dependency>
7 </dependencies>
pom.xml

  其他模塊目前無需添加依賴。

4.構造web目錄

  因為有3個模塊需要打成war包,因此必須先構造web項目的目錄結構,否則打包命令無法成功執行。

  在 game, hessian, rms 模塊的src目錄下分別創建 webapp/WEB-INF 文件夾,並在該目錄下添加web.xml(空文件即可)。完成后目錄結構如下圖:

  

文件結構

  另外,因為不做單元測試,所有src目錄下的test文件夾均可刪除。

5.編譯打包

  在左上角菜單選擇 ” Run --> Edit Configurations "(快捷按鈕里直接點也可以),點擊左上角綠色的加號,選擇Maven(代表使用maven命令或插件來編譯、打包、啟動項目)。然后填寫名稱 "idlewow打包",選擇根目錄,填寫執行命令"clean install",

  其中,clean表示清空之前的編譯目錄,install表示把項目編譯,打包,並更新到本地maven倉庫。

  其實編譯命令是compile,打包命令package,maven命令有一個優先級,執行install時,會自動執行compile, package等等。

  如下圖:

  

  點擊OK后,我們執行一遍。結果如下圖,各模塊均編譯打包成功。

  

 

結語

  本章簡要搭建整個系統的框架,構造了各模塊的文件結構,並成功編譯打包。

  源碼下載地址:https://idlestudio.ctfile.com/fs/14960372-383321231

  本文原文地址:https://www.cnblogs.com/lyosaki88/p/idlewow_2.html

  后面將開始對各模塊的內部框架進行搭建。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM