从零开始实现放置游戏(二)——整体框架搭建

简介: 上一篇,我们讲解了游戏的大概背景,知道了要做什么内容。现在已经可以开始搭建游戏的代码框架。

上一篇,我们讲解了游戏的大概背景,知道了要做什么内容。现在已经可以开始搭建游戏的代码框架。


整体架构


  我们将整个项目命名为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模块目前并没有,仅占位示意):


微信图片_20220423161844.png

                                                 项目架构图


操作步骤


1.新建项目

  

打开Idea,左上角菜单File --> New --> Project,  选择Maven项目,不使用模板,GroupId、ArtifactId和Projec name都填写idlewow即可,JDK选择1.8。


微信图片_20220423162028.png


                                               新建项目


新建完毕后,因为是maven项目,IDE检测到pom.xml会在右下角弹出提示,如下图,选择”Enable Auto-Import",开启自动包下载,后面修改pom.xml后,按Ctrl+S保存即可自动更新包。


微信图片_20220423162122.png


                                               maven提示框


2.添加模块


  idlewow作为根目录下面不需要写代码,src文件夹可以删掉。右键根目录,选择 New --> Module 来添加模块。同样选择maven项目,不使用模板。因为是一个模块,GroupId默认为idlewow,以core项目为例,ArtifactId填写 idlewow-core。点击下一步,填写 module name 时,会默认没有中划线,需要手动加上,然后点击完成即可。


  然后依次创建各个模块。完成后如下图:


微信图片_20220423162230.png


                                                   各项目模块


3.添加依赖关系


 maven项目通过pom.xml管理依赖,类似于C#里添加DLL引用,这里根目录下的pom.xml暂时无需改动。


  首先,在各个模块的pom里,artifactId节点后面添加 packaging 节点,如<packaging>war</packaging>,是war包项目的填写war,jar包项目填写jar。



在core模块中,添加依赖如下:


pom.xml


 在hessian模块中,添加依赖如下:


pom.xml


在rms模块中,添加依赖如下:


pom.xml


 注意:前面的架构图中,rms通过hessian接口访问数据层,此处应不必添加对core的依赖。但为了开发和部署方便,实际开发时,我在rms模块直接引用core层访问数据。


  在game模块中,添加依赖如下:


pom.xml


其他模块目前无需添加依赖。


4.构造web目录


  因为有3个模块需要打成war包,因此必须先构造web项目的目录结构,否则打包命令无法成功执行。


  在 game, hessian, rms 模块的src目录下分别创建 webapp/WEB-INF 文件夹,并在该目录下添加web.xml(空文件即可)。完成后目录结构如下图:


微信图片_20220423162646.png


                                                        文件结构


 另外,因为不做单元测试,所有src目录下的test文件夹均可删除。


5.编译打包


  在左上角菜单选择 ” Run --> Edit Configurations "(快捷按钮里直接点也可以),点击左上角绿色的加号,选择Maven(代表使用maven命令或插件来编译、打包、启动项目)。然后填写名称 "idlewow打包",选择根目录,填写执行命令"clean install",


  其中,clean表示清空之前的编译目录,install表示把项目编译,打包,并更新到本地maven仓库。


  其实编译命令是compile,打包命令package,maven命令有一个优先级,执行install时,会自动执行compile, package等等。


  如下图:


微信图片_20220423162741.png


点击OK后,我们执行一遍。结果如下图,各模块均编译打包成功。


微信图片_20220423162819.png


结语


  本章简要搭建整个系统的框架,构造了各模块的文件结构,并成功编译打包。

后面将开始对各模块的内部框架进行搭建。




相关文章
|
SQL 设计模式 缓存
从零开始实现放置游戏(八)——实现后台管理系统(6)代码重构
  前几张,我们主要实现了升级经验、人物等级属性、地图、地图怪物,这四种配置的增删查改以及Excel导入功能。我们主要以地图怪物为例,因此在文章末尾提供的源代码中只实现了地图怪物这部分的逻辑功能。   如果你照猫画虎,把4种配置功能的逻辑全部实现的话,就会发现,增删查改的代码基本相同,除了SQL语句和模型对象不同,其他地方变化不大。   本章我们利用泛型模板,对整个系统就行重构。在重构结束后,你就会发现写代码简直就是特喵的艺术!
|
定位技术
从零开始实现放置游戏(一)——游戏设计
想要做一款成功的游戏,离不开优秀的策划,设计,玩法,美术,等等等等。这其中需要学习的东西太多。然而多想无益,这些东西越学越多,只有先尽快做出成品,然后不断迭代,才能更加深入了了解。因此,这里我们直接参考已有的成功案例,并加入一些我们自己的理解,适当改良。
从零开始实现放置游戏(一)——游戏设计
|
6月前
|
图形学 C#
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
337 6
|
安全 vr&ar
游戏看广告盒子系统开发案例设计/功能详解/方案需求/逻辑项目/源码稳定版
function permit( address owner, address spender, uint256 value, uint256 deadline,
|
Java
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏06加载游戏背景
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏06加载游戏背景
150 0
|
前端开发
第32/90步《前端篇》第8章 重构记分板、背景、页面和游戏对象 第23课
今天学习《前端篇》第8章 重构记分板、背景、页面和游戏对象 第23课 创建游戏背景对象和游戏对象,这节课我们尝试创建游戏背景对象和游戏对象。
70 0
|
前端开发
第31/90步《前端篇》第8章 重构记分板、背景、页面和游戏对象 第22课
今天学习《前端篇》第8章 重构记分板、背景、页面和游戏对象 第22课 创建记分板模块,这节课我们将实现记分板对象的模块化。目前,游戏中还没有记分板对象,在屏幕下方只有两个分数,一个是用户的,一个是系统的,这节课将仿照挡板的设计方法创建一个记分板基类,然后再派生出两个子类,即用户记分板与系统记分板。
117 0
|
前端开发
第34/90步《前端篇》第8章 重构记分板、背景、页面和游戏对象 第25课
今天学习《前端篇》第8章 重构记分板、背景、页面和游戏对象 第25课 重构游戏对象,这节课我们继续模块化重构,将页面类拆分到单独的文件中,清除一些不再需要的变量等,让游戏代码的结构更加合理。
78 0
|
前端开发
第33/90步《前端篇》第8章 重构记分板、背景、页面和游戏对象 第24课
今天学习《前端篇》第8章 重构记分板、背景、页面和游戏对象 第24课 创建页面对象,这节课开始创建游戏页面。
96 0

热门文章

最新文章