从零开始实现放置游戏(三)——实现后台管理系统(1)后台管理系统搭建

简介: 上一章已经把整体的代码框架搭建完毕。然而整个游戏的功能非常的多,这就要求我们必须思路清晰,把所有功能依次分解开,逐步实现。

 上一章已经把整体的代码框架搭建完毕。然而整个游戏的功能非常的多,这就要求我们必须思路清晰,把所有功能依次分解开,逐步实现。


需求分析


  整个游戏的核心玩法是放置挂机,打怪练级是核心功能,先实现一个最小可运行的DEMO,那么可以先实现玩家和怪物挂机战斗这部分。像装备、道具、掉落、随机词缀、组队等功能都可以放到后面做。想实现挂机战斗,那么要有一个战斗的逻辑模块,根据输入的战斗信息,计算出战斗结果,输出给客户端播放。整体逻辑大致如下图:


502227-20190618143027923-1156890540.png


这里,我们需要对游戏战斗相关的属性有个规划。我们暂时规定一级属性有力量、敏捷、智力、耐力,二级属性有生命值、护甲、攻击强度、法术强度、命中率、躲避率、暴击率。一级属性对二级属性提供加成,二级属性参与战斗逻辑计算,装备加成既可以加一级属性也可以加二级属性。人物每个等级自身四围的属性数值是固定的。人物的战斗属性由自身属性+装备加成+得出。怪物的属性比较简单,只有等级、生命值、护甲、伤害值,直接参与计算。


  以上,我们需要配置人物每个等级的属性,怪物的属性。另外,人物和怪物都是在地图上移动的,因此还需要配置地图信息。要配置这些信息,我们就需要先搭建后台管理系统,通过excel,把我们的数值配置导入系统。下面,我们就开始搭建我们的rms模块。


RMS系统搭建


1.引入依赖


首先,有一些常用的工具类,插件类,几乎每个模块都要用到的,我们在父级节点idlewow的pom中引入:


注意:lombok是个IDE的插件依赖,需要有一步在Idea中安装此插件的操作。插件的安装请查看此篇:Idea插件lombok的安装和使用


idlewow的pom.xml


idlewow-core模块需要访问数据库,添加相关依赖:


pom.xml


在idlewow-rms中,我们使用springmvc+mybatis,需要添加的引用较多:


pom.xml


2.添加相关配置


  已经引入了依赖,还有很多配置文件需要配。


  首先,我们来配置一下最基本的配置,也就是web容器的配置: web.xml


web.xml


在 web.xml 里主要配置了一个spring的上下文listener,用来在启动时,自动扫描注入;一个spring的servlet,用来实现mvc路由;还有一个字符编码的filter,用来把请求数据转换成utf-8编码,防止出现乱码。


  现在我们针对web.xml中Spring的上下文listener和servlet添加单独的配置。在resources目录下新建spring文件夹,并新建applicationContext.xml文件,applicationContext.xml 主要配置spring需要扫描的包,并引入了数据源的配置文件。


applicationContext.xml


在/resources/spring路径下,新建spring-mvc.xml文件,主要配置mvc的路由规则,并启动spring的mvc注解。


spring-mvc.xml


 在/resources/spring路径下,新建dataSource.xml文件,主要配置数据库连接,连接池,启动spring的事务注解。并指定mybatis需要扫描的包。


dataSource.xml


在resources目录下,新建properties文件夹,并新建文件jdbc.properties。具体定义了数据库连接的账号、密码等,供dataSource.xml使用。


jdbc.properties


3.最简页面搭建


  配置完毕,我们先搭建一个最简的管理员登陆页面和登陆后的首页,让整个项目能够跑起来。


  这里我们直接使用一套网上开源免费的基于layui实现的前端框架xadmin,下载地址:http://x.xuebingsi.com/。下载后,把css, js, fonts, images, lib目录都拷贝到webapp目录下即可。


  然后,我们写一个简单的登陆验证。这里,我规定数据库建表时,所有表均需包含id, create_user, update_user, create_time, update_time, is_delete, version几个字段。在facade模块中,新建一个包com.idlewow.common.model, 并新建一个抽象类BaseModel,后面凡是数据库的实体类,均需继承此类。


BaseModel.java


另外,再facade模块中,新建一个包com.idlewow.admin.model,并添加管理员类SysAdmin,


SysAdmin.java


在rms模块中,新建包com.idlewow.rms.controller, 并新建一个登陆认证的controller, 在这里,我们直接写死账号admin可登陆,并自动添加密码123456,方便开发,


AuthorizeController


在webapp目录下,添加login.html登陆页面,这里直接使用xadmin提供的模板,对js稍作改动,


login.html


在webapp目录下,添加authorize.jsp,用来验证身份,后面所有需要登陆的页面,均需引用此页面,


authorize.jsp


在webapp目录下,添加index.jsp,作为登陆成功后的跳转首页,这个页面也直接使用xadmin提供的模板,


index.jsp


4.项目启动


  这里,为了方便快捷,我们使用maven插件启动,在rms的pom中添加build节点如下,指定我们使用maven的tomcat7插件启动,好处是启动、热更新比较快,不用单独下载tocmat,缺点是内置的tomcat版本较低是7.0.47,并且不能调整。


View Code


 和前面编辑打包命令类似,我们打开编译启动配置即 “Build -- > Edit Confiruations", 新建一个maven项,目录选择rms模块路径,命令输入:tomcat7:run,如下图:


502227-20190618154429298-237350972.png


 点击OK后,使用此项配置,启动RMS项目即可。运行效果如图:


微信图片_20220423170303.gif


结语


  本章对RMS模块进行了配置搭建,使整个网站能够运行起来。


下面将开始实现后台数据的配置录入功能。主要涉及到的模块,core, facade, rms。





相关文章
|
C语言
【C语言】atoi函数的使用和模拟实现
本篇将介绍atoi函数的使用,通过实例讲解函数的使用方法,模拟实现atoi函数。
247 1
|
8月前
|
存储 关系型数据库 MySQL
mysql8.0中的mysql.ibd
`mysql.ibd`文件在MySQL 8.0中扮演着重要角色,负责存储InnoDB表的数据和索引。通过了解其结构和管理方法,可以有效维护数据库的性能和数据完整性。希望本文对 `mysql.ibd`文件的深入解析能帮助您更好地理解和管理MySQL数据库。
552 1
|
9月前
|
机器学习/深度学习 人工智能 监控
软件测试中的人工智能革命
本文探讨了人工智能在软件测试中的应用及其带来的变革。通过分析AI如何提高测试效率、准确性,并减少人工干预,本文揭示了软件测试领域的未来趋势。
|
11月前
|
编解码 前端开发 vr&ar
从零开始的PICO教程(4)--- UI界面绘制与响应事件
这篇文章是PICO开发系列教程的第四部分,主要介绍了如何在PICO 4 VR环境中创建UI界面,包括Canvas和Panel的配置、UI元素的绘制、以及Button和Slider的事件响应绑定,并通过示例展示了数字增减和滑块功能的具体实现。
从零开始的PICO教程(4)--- UI界面绘制与响应事件
|
11月前
|
API 开发工具 图形学
从零开始的PICO教程(1)Pico游戏开发项目配置
这篇文章是PICO游戏开发的入门教程,详细介绍了如何注册成为PICO开发者、创建组织和应用、导入PICO的SDK、配置Unity项目以及完成项目设置的整个流程。
从零开始的PICO教程(1)Pico游戏开发项目配置
|
关系型数据库 MySQL
MySQL深入浅出: order by if()与order by in()之条件排序
MySQL深入浅出: order by if()与order by in()之条件排序
454 0
|
前端开发 应用服务中间件 Linux
使用阿里云服务器部署前端项目
使用阿里云服务器部署前端项目,完成后可通过服务器域名访问网页
2404 0
使用阿里云服务器部署前端项目
|
存储 弹性计算 大数据
什么是云服务器ECS及其优势、购买、使用方式和部署建议
什么是阿里云云服务器ECS及其优势、购买、使用方式和部署建议,阿里云服务器全方位介绍包括云服务器ECS优势、云服务器租用价格、云服务器使用场景及限制说明,阿里云百科分享云服务器ECS介绍、个人和企业免费试用、云服务器活动、云服务器ECS规格、优势、功能及应用场景详细说明
741 0
|
边缘计算 运维 容灾
重磅发布!阿里云发布《应用多活技术白皮书》,并开源首个多活项目AppActive
1月11日,在上海的云原生实战峰会上,阿里云智能研究员丁宇发布了“应用多活技术白皮书”,同时为了推动业界容灾的发展,建立云原生业务容灾标准,阿里云开源了“应用多活”项目AppActive。
62625 65
重磅发布!阿里云发布《应用多活技术白皮书》,并开源首个多活项目AppActive
|
定位技术
从零开始实现放置游戏(一)——游戏设计
想要做一款成功的游戏,离不开优秀的策划,设计,玩法,美术,等等等等。这其中需要学习的东西太多。然而多想无益,这些东西越学越多,只有先尽快做出成品,然后不断迭代,才能更加深入了了解。因此,这里我们直接参考已有的成功案例,并加入一些我们自己的理解,适当改良。
从零开始实现放置游戏(一)——游戏设计