從零開始實現(xiàn)放置游戲(二)——框架搭建

??上一篇,我們講解了游戲的大概背景,知道了要做什么內容?,F(xiàn)在已經(jīng)可以開始搭建游戲的代碼框架。

整體架構

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

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

項目架構圖

代碼實踐

1.新建項目

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

新建項目

??新建完畢后,因為是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 時,會默認沒有中劃線,需要手動加上,然后點擊完成即可。

??然后依次創(chuàng)建各個模塊。完成后如下圖:

各項目模塊

3.添加依賴關系

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

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

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

<dependencies>
    <dependency>
        <groupId>idlewow</groupId>
        <artifactId>idlewow-facade</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>idlewow</groupId>
        <artifactId>idlewow-util</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

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

<dependencies>
    <dependency>
        <groupId>idlewow</groupId>
        <artifactId>idlewow-core</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>idlewow</groupId>
        <artifactId>idlewow-facade</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

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

<dependencies>
    <dependency>
        <groupId>idlewow</groupId>
        <artifactId>idlewow-core</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>idlewow</groupId>
        <artifactId>idlewow-facade</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

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

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

<dependencies>
    <dependency>
        <groupId>idlewow</groupId>
        <artifactId>idlewow-facade</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

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

4.構造web目錄

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

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

文件結構

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

5.編譯打包

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

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

??其實編譯命令是compile,打包命令package,maven命令有一個優(yōu)先級,執(zhí)行install時,會自動執(zhí)行compile, package等等。

如下圖:

編譯打包

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

運行結果

結語

??本章簡要搭建整個系統(tǒng)的框架,構造了各模塊的文件結構,并成功編譯打包。

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

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

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容