登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

基于规则引擎的棋牌游戏规则模块的设计与实现毕业论文

 2020-02-23 18:25:04  

摘 要

近年来,随着人民生活水平的不断提高以及互联网产业的发展,越来越多的人通过玩游戏来追求愉悦,放松身心,其中纸牌游戏轻松而又趣味十足,成为人们闲暇时玩游戏的首选,然而市场上的网络纸牌游戏种类太过稀少,规则较为固定化,开发成本高,发展速度远远不能满足大众对于游戏多样化的需求。因此,基于规则引擎,开发一款基于规则引擎的棋牌游戏模块,用来更加快捷的开发新的纸牌游戏,编写更加多样化的游戏规则,是一项十分有意义的工作。

为了实现纸牌游戏的快速开发及规则变更,作者基于DROOLS规则引擎技术,实现了一个便于快速开发纸牌游戏的规则模块,通过该模块,可以快速编辑创建纸牌游戏的规则文件,定义游戏数据及游戏规则,并能够测试规则的执行。使用规则脚本代替繁杂的逻辑代码,使得纸牌游戏的规则开发,规则变更,规则维护更加具有效率,基于此模块开发的纸牌游戏也更具多样性和可维护性。使用规则引擎将系统决策逻辑和程序逻辑分离,使得纸牌游戏的规则能够灵活变化而不变更程序代码。

本论文论述了纸牌游戏模块的功能性需求,并分析了DROOLS规则引擎为纸牌游戏带来便捷性,将逻辑代码与规则相分离,提高了重用性,简化了开发难度,随后分析了纸牌游戏的基本架构,与规则引擎相结合,划分出基本的层级结构,给出了重要功能的实现方法,以及相关规则的测试结果。

关键词:棋牌游戏,业务规则引擎,DROOLS,JAVA

Abstract

In recent years, with the continuous improvement of people's living standard and the development of the Internet industry, more and more people to the pursuit of pleasure by playing games, loosen body and mind, among them a game of cards is easy and fun, and is the first choice of the people to play games in the spare time, but the network card games on the market is too few, the rule is immobilized, high development cost, development speed is far cannot satisfy the public demand for diversification of the game.Based on rule engine, developing a board game based on rule engine module, used to more quickly develop new game of cards, write more diverse rules of the game, is a very meaningful work.

In order to achieve the rapid development of a game of cards and rule changes, the author based on the DROOLS rules engine technology, implements a facilitate the rapid development of the rules of the game of cards module, through this module, you can quickly editor to create the rules of the game of cards file, define the game data and the rules of the game, and to execute test rules.Use regular script instead of the complex logic code, making the rules of the game of cards development, rule changes, rules maintenance is more efficiency, based on the module development game of cards is also more diversified and maintainability. The rule engine is used to separate the system decision logic from the program logic so that the rules of the card game can be changed flexibly without changing the program code.

This paper discusses the functional requirements of card game module, and analyzes the DROOLS rules engine bring convenience for a game of cards, separating the logic code and rules and improves the reusability, simplifies development difficulty, then analyzes the basic framework of a game of cards, combined with a rule engine, divided into the basic hierarchical structure, gives the method to realize the important function, and the rules of the test results.

Key words: Board game, business rules engine, DROOLS, JAVA

目录

摘要 i

Abstract ii

目录 i

第一章 绪论 1

1.1 本课题研究背景 1

1.2 国内外研究现状 1

1.3 本课题研究内容及意义 2

1.3.1 研究内容 2

1.3.2 研究意义 2

1.4 本课题章节安排 2

第二章 需求分析及相关开发技术 4

2.1 需求分析 4

2.1.1 规则管理功能 4

2.1.1 规则运行功能 6

2.2 相关技术 7

2.2.1 业务规则与业务规则管理 7

2.2.2 规则引擎 8

2.2.3 JAVA开源规则引擎DROOLS 8

2.3 本章小结 8

第三章 系统设计 10

3.1 系统功能架构 10

3.2 功能模块设计 11

3.2.1 规则运行模块设计 11

3.3.2 规则管理模块设计 13

3.4 游戏规则设计 14

3.5 本章小结 15

第四章 系统实现 16

4.1 系统开发环境 16

4.2 各模块实现 16

4.2.1 游戏规则运行模块实现 16

4.2.2 游戏规则管理模块实现 17

4.2.3 游戏规则实现 18

4.3 部署与测试 22

4.4 本章小结 24

第五章 论文总结与展望 25

5.1 论文总结 25

5.2 论文展望 25

参考文献 26

致谢 27

第一章 绪论

1.1 本课题研究背景

近几年,随着国家发展,人民生活水平的提升,移动游戏市场越发成熟,国内游戏用户消费观念逐步升级,国内游戏行业市场规模获得了持续增长。在2017年,游戏行业的整体营业同比增长23.1%,发展迅速。卡牌游戏也经历了一个相对快速生长的时期。2008年,《三国杀》的横空出世,带动起国内卡牌游戏市场的兴起,在其网络游戏化后,更是进一步推进了虚拟卡牌类游戏的成长,确定了网络化卡牌游戏的方向。作为传承悠久的游戏类型,卡牌游戏开始统治着国内移动游戏市场,无论是在数量上还是在营收上,都有着极其优秀的表现,并已经已经占据了手机游戏中的大块市场。在2016年Q1国内APP市场手游类型统计中,卡牌游戏占到了市场32%的份额,稳居第二。同时,卡牌类游戏具备碎片化,轻松化的特性,适合各年龄层次的用户,受众范围广,用户群体稳定,卡牌游戏在手机游戏产业中的的市场地位稳固,发展前景广阔。

虽然纸牌游戏在中国发展迅速,但是面临玩法单一,开发重复度高,维护繁琐的问题。开发人员开发一款新卡牌游戏,依然需要经历软件开发的一系列流程,耗费大量的时间成本和人力成本,周期漫长,开发完成后,由于游戏规则与业务逻辑代码相纠缠,难以突破与创新游戏规则,于是纸牌游戏的创新发展就变得单一而又缓慢。

本文基于规则引擎,研究开发了一个针对扑克牌的纸牌游戏规则模块,使用该工具能够快速开发新的纸牌游戏,开发人员使用规则管理工具建立规则,制作界面端,基于模块加载规则,完成游戏的制作。游戏制作完成后,也能够即时修改规则,实现游戏机制的革新与变化,降低了开发与维护成本,推动纸牌游戏的创新与发展,解决玩法单一,开发周期缓慢的问题,走向更加广阔的市场。

1.2 国内外研究现状

在国外,纸牌游戏多以集换式为主,将收集养成与卡牌竞技相结合,并且市场较小,在游戏界占据更多位置的是动作游戏,所以关于棋牌游戏规则开发工具的工作及研究,在国外较为少见,国外研究更多的是偏向动作或剧情的大型3D游戏。

而在国内,斗地主等非集换式卡牌游戏受众多,其碎片化,上手快的优点,吸引了大量的玩家将时间投入其中,但占据棋牌游戏主导地位的大公司,多开发的是成熟完善的产品,而没有开发工具带动整个游戏行业的创新发展,并且相关的框架也并不开放,这对整个行业的发展与开拓都是不利的。而在国内论文领域,对规则引擎的使用,大多都是单独实现一款纸牌游戏,而不是制作工具平台,无法提高开发效率,更难以灵活变更规则。

1.3 本课题研究内容及意义

1.3.1 研究内容

纸牌游戏多种多样,在中国,受众最广,最受欢迎的是基于扑克牌的纸牌游戏,针对这类纸牌游戏的特点,进行游戏规则模块的开发。游戏实体包含多个玩家,玩家牌组,针对牌组,玩家进行依次循环出牌。

开发者利用规则管理工具编辑修改规则,指定游戏的初始化阶段规则,游戏运行阶段规则,游戏结果判定阶段规则。制定完成后,通过游戏运行测试功能,对制定的规则进行测试,验证规则的正确性,完整性。从而迅速的生成纸牌游戏的核心游戏模块以及规则,提高开发效率及后期维护的便捷性。

1.3.2 研究意义

1.对纸牌游戏行业开发者来说,能够使用此规则模块,迅速制定纸牌游戏规则,然后测试完成,编写界面端成为一个完整游戏,提高了开发效率,不需要重新进行整个软件开发流程,而只需要构建设计游戏规则以及用户界面即可。

2.高效的规则管理与维护。开发完成后的游戏,必然不是一成不变的,游戏规则需要修改,需要创新,这时使用此模块能够直接修改规则脚本文件,进行规则的变更,无需重新编译,规则模块使得游戏后期的维护及创新规则更加便捷。

1.4 本课题章节安排

第一章详细介绍纸牌游戏行业的发展背景及现状,通过行业内存在的纸牌游戏发展缓慢的问题,提出了实现一个基于规则引擎的棋牌游戏规则模块的开发,明确了研究目的是为了提高纸牌游戏的开发效率,同时降低纸牌游戏的规则维护难度。

第二章首先对游戏规则模块进行了需求分析,针对其规则管理功能与规则运行功能进行了用例分析,明确了功能细节,同时也介绍了与此模块相关的技术知识,对业务规则及业务规则引擎,介绍了其概念,产生,好处,结合本游戏规则模块的需求,阐明了使用规则引擎的原因。

第三章首先划分了系统整体的功能模块,解释了系统总体结构,然后对于规则管理,规则运行两个功能模块的设计做出了解析,之后说明了规则脚本的设计方法以及测试界面的设计思想。

第四章从项目本身实现出发,详细解释了规则管理,规则运行两个功能模块中,核心函数的具体实现方法,对于游戏规则设计挑选了斗地主为例,介绍其规则制定的具体实现,并给出了其界面效果。

第五章是总结与展望,先对本次研究的工作做出总结,并介绍未来下一步需要研究的重点和将来工作的展望。

第二章 需求分析及相关开发技术

2.1 需求分析

图 2.1 系统用例图

图2.1为描述系统需求的用例图,接下来进行详细的用例描述进一步明确需求。

2.1.1 规则管理功能

表2.1 新建规则用例表

用例名称:新建规则

目标

用户输入新建规则名称建立新的规则文件

参与者

普通用户

范围

规则管理界面

等级

普通用户

前置条件

用户打开规则管理界面

成功后置条件

建立新的规则文件并在规则列表中显示

失败后置条件

规则列表中无变化

基本事件流

1. 用户进入规则管理界面

2. 选择新建规则位置

3. 输入规则名称

4 点击新建按钮

表2.2 删除规则用例表

用例名称:删除规则

目标

用户在列表中选中规则删除此规则文件

参与者

普通用户

范围

规则管理界面

等级

普通用户

前置条件

用户打开规则管理界面

成功后置条件

选中的规则文件被删除并在规则列表中消失

失败后置条件

规则列表中无变化

基本事件流

1. 用户进入规则管理界面

2. 选中列表中要删除的规则

3. 点击删除规则按钮

表2.3 修改规则用例表

用例名称:修改规则

目标

用户修改选中的规则文件并保存

参与者

普通用户

范围

规则管理界面

等级

普通用户

前置条件

用户打开规则管理界面

成功后置条件

修改选中的规则文件并保存

失败后置条件

规则文件内容无变化

基本事件流

1. 用户进入规则管理界面

2. 在列表中选中要修改的规则

3. 点击修改按钮

4 在编辑器中修改文件并保存

表2.4 查询规则用例表

用例名称:查询规则

目标

用户输入查询规则名称查询规则文件

参与者

普通用户

范围

规则管理界面

等级

普通用户

前置条件

用户打开规则管理界面

成功后置条件

查询的规则文件结果在列表中显示

失败后置条件

查询的结果不显示在列表中

基本事件流

1. 用户进入规则管理界面

2. 输入查询的规则名称

3. 点击查询按钮

2.1.1 规则运行功能

表2.5 游戏初始化用例表

用例名称:游戏初始化

目标

用户打开规则运行界面游戏基本数据进行初始化

参与者

普通用户

范围

游戏运行界面

等级

普通用户

前置条件

用户打开游戏运行界面

成功后置条件

游戏基本信息:玩家数据 ,牌组数据全部更新显示

失败后置条件

界面上的基本信息为空

基本事件流

1. 用户打开游戏运行界面

表2.6 游戏运行用例表

用例名称:游戏进行

目标

用户通过出牌与系统进行交互

参与者

普通用户

范围

游戏运行界面

等级

普通用户

前置条件

用户打开游戏运行界面后,开始游戏规则测试

成功后置条件

出牌操作后,显示合法,切换下一玩家,非法,则重新选牌

失败后置条件

出牌后无法切换下一玩家或提示非法

基本事件流

1.用户打开游戏运行界面

  1. 点击牌组选择要出的牌
  2. 点击出牌

表2.7 胜负判定用例表

用例名称:胜负判定

目标

用户每次出牌后进行胜负判定

参与者

普通用户

范围

游戏运行界面

等级

普通用户

前置条件

用户打开游戏运行界面后,开始游戏规则测试

成功后置条件

出牌操作后,玩家手牌为空,显示胜利者

失败后置条件

出牌后手牌为空但无提示

基本事件流

1.用户打开游戏运行界面

2.点击牌组选择要出的牌

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图