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

  上一篇,咱們講解了遊戲的大概背景,知道了要作什麼內容。如今已經能夠開始搭建遊戲的代碼框架。web

總體架構

  咱們將整個項目命名爲idlewow,目前包含如下幾個模塊idlewow-facade, idlewow-core, idlewow-hessianserver, idlewow-rms, idlewow-util, idlewow-game, idlewow-doc。sql

  其中,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保存便可自動更新包。app

2.添加模塊

  idlewow做爲根目錄下面不須要寫代碼,src文件夾能夠刪掉。右鍵根目錄,選擇 New --> Module 來添加模塊。一樣選擇maven項目,不使用模板。由於是一個模塊,GroupId默認爲idlewow,以core項目爲例,ArtifactId填寫 idlewow-core。點擊下一步,填寫 module name 時,會默認沒有中劃線,須要手動加上,而後點擊完成便可。框架

  而後依次建立各個模塊。完成後以下圖:webapp

3.添加依賴關係

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

  首先,在各個模塊的pom裏,artifactId節點後面添加 packaging 節點,如<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-facade</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>idlewow</groupId>
        <artifactId>idlewow-core</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

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

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

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

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

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

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

相關文章
相關標籤/搜索