使用XWorker编写战斗模拟器
??还是XWorker的介绍贴,XWorker是免费开源项目,下面是使用XWorker的数据对象技术开发的我们游戏项目的战斗模拟器,希望让大家了解XWorker中开发的方式。另外不建议目前用XWorker开发商业应用,后果自负,因为XWorker还不成熟,所以才希望有人能够加入XWorker的开发。
?
数据对象的使用说明:
??? 主要是用于编写界面和数据统计,数据对象技术类似于信息化系统那种格式化的CUDI操作,只不过在XWorker数据对象主要用于一般编辑界面,即不限于数据库的操作,主要是对一般的表单、表格的等处理,如示例中的战斗数据的展示和统计等。
?
战斗模拟器的界面:
?
战斗模拟器的详细说明
1. 玩家和怪物界面
XWorker中的代码是:
以上代码生成了如下界面:
生成以上表单的依据是tools:dataobjects.PlayerThingDataObject和tools:dataobjects.Monster,如Monster的定义是:?
2. 设置和读取表单数据
?? 表单生成后,填充表单数据和获取表单数据的方法。
?? a. 设置表单的数据
?? 以下是按钮的代码:
?
对应的界面是:
?我们使用选择怪物按钮来解释如何选择怪物并填充怪物表单,选择怪物的按钮的事件处理代码是:
?分解讲解:
?打开选择怪物的窗口tools:battle.MonsterSelector:/@shell。
?如果选择的怪物。
?把怪物数据填充到怪物表单。
?把怪物数据设置到全局变量中,以备后用。
?
b. 获取表单数据的代码
?以上是模拟战斗后的统计结果,实际上战斗过程是由游戏的代码完成的,XWorker负责把每次的战斗结果汇总并显示出来,在这里介绍如何使用数据对象的统计功能。统计的代码如下:
?
?StatisticsQueryDataObject是一个分组和汇总模块,可以对List数据或数组等分组和汇总。