这几天,看了一下游戏王的效果怪兽卡片。
游戏王有几千张卡,效果很多。而且效果与:玩家生命、魔法、陷阱、场地、手牌、墓地、除外区、地形、卡组……等N个因素相关联。而有些效果甚至是在两个不同因素之间进行,如从墓地到手牌、有攻击变防守、由里侧变表侧……
这么复杂的卡片关系,如果人为手动来编写这些卡(假设每张卡一个类)不太可行。因此我有了2个设想:
1、制作一个卡片编辑器,通过它来编辑卡片,这个编辑器可以通过勾选效果怪兽的效果触发时机和效果(将游戏王里面每张卡的效果都分解成一个原子效果,然后进行组合,形成实际的效果),然后生成对应的类。这样或许是简单点的做法。这样如果我编辑了100张卡,那么就自动生成100个卡对应的java文件(你可以理解为有100个类)。
2、只有一个效果怪兽卡的类,然后里面的效果触发时机和效果是动态的。每张卡读取该怪兽的效果触发时机和效果(这两个都是保存在外部文件,因此是字符串),那么重点在于怎么将字符串转化为布尔值和操作。比如:
假设有一张卡,当玩家生命小于1000时,攻击力上升1000,外部文件保存了如下字符串:
触发时机:"HP < 1000"
触发效果:"this.attack += 1000"
这个问题可以使用脚本很容易地解决。通过Rhino可以调用Java中的类。因此,我可以类似地定义效果怪兽的卡为:
具体架构过2天后将决定。
分享到:
相关推荐
FPC插座-0.5mm 1.0mm 1.25mm间距 Altium封装 AD封装库 2D+3D PCB封装库-32MB
压敏电阻 Altium封装 AD封装库 2D+3D PCB封装库-1MB
变压器 路由器网络变压器 Altium封装 AD封装库 2D+3D PCB封装库-13MB
M3铜柱 Altium封装 AD封装库 2D+3D PCB封装库-38MB
SMD表贴器件 Altium封装 AD封装库 2D+3D PCB封装库-17M
按键按钮 Altium封装 AD封装库 2D+3D PCB封装库-10MB
传感器IC Altium封装 AD封装库 2D+3D PCB封装库-3MB
DIP直插封装 Altium封装 AD封装库 2D+3D PCB封装库-8MB
常用音频接口 Altium封装 AD封装库 2D+3D PCB封装库-15MB
TQFN VDFN Altium封装 AD封装库 2D+3D PCB封装库-8MB,40个封装文件,可以做为你的设计参考。
继电器Altium封装 AD封装库 2D+3D PCB封装库-11MB
DC5V DC12V电源接口 Altium封装 AD封装库 2D+3D PCB封装库-
保险丝 Altium封装 AD封装库 2D+3D PCB封装库-2MB
常用接插件 Altium封装 AD封装库 2D+3D PCB封装库-62MB
SOP SOIC SO SSOP TSSOP MSOP ESOP Altium封装 AD封装库 2D+3D PCB封装库-20MB
直插元件 器件Altium封装 AD封装库 2D+3D PCB封装库-32MB
SOT封装 Altium封装 AD封装库 2D+3D PCB封装库-4MB.zip
LED发光二极管. 二极管-整流桥堆 Altium封装 AD封装库 2D+3D PCB封装库-10MB
5.08mm卧式直插插座KF系列5.08连接器 ltium封装 AD封装库 2D+3D PCB封装库-27MB
常用AD元件库封装库3D模型库Altium封装 AD200 AD19 AD17 AD15 AD10 AD09封装库 2D+3D PCB封装库-96MB 739个封装,.PcbLib后缀的文件,包括常用的芯片,电子器件,接插件,连接器等2D3D封装文件,基本上可以满足常用...