这几天,看了一下游戏王的效果怪兽卡片。

游戏王有几千张卡,效果很多。而且效果与:玩家生命、魔法、陷阱、场地、手牌、墓地、除外区、地形、卡组……等N个因素相关联。而有些效果甚至是在两个不同因素之间进行,如从墓地到手牌、有攻击变防守、由里侧变表侧……

这么复杂的卡片关系,如果人为手动来编写这些卡(假设每张卡一个类)不太可行。因此我有了2个设想:

1、制作一个卡片编辑器,通过它来编辑卡片,这个编辑器可以通过勾选效果怪兽的效果触发时机和效果(将游戏王里面每张卡的效果都分解成一个原子效果,然后进行组合,形成实际的效果),然后生成对应的类。这样或许是简单点的做法。这样如果我编辑了100张卡,那么就自动生成100个卡对应的Java文件(你可以理解为有100个类)。

2、只有一个效果怪兽卡的类,然后里面的效果触发时机和效果是动态的。每张卡读取该怪兽的效果触发时机和效果(这两个都是保存在外部文件,因此是字符串),那么重点在于怎么将字符串转化为布尔值和操作。比如:

假设有一张卡,当玩家生命小于1000时,攻击力上升1000,外部文件保存了如下字符串:

触发时机:"HP < 1000"

触发效果:"this.attack += 1000"

这个问题可以使用脚本很容易地解决。通过Rhino可以调用Java中的类。因此,我可以类似地定义效果怪兽的卡为:

/*

* EffectiveMonster.java

*/

publicclassEffectiveMonster{

//各种攻击、等级等属性

privateString con;//触发时机

privateStringdo;//触发效果

publicvoidactivity(){

//这里的UScriptEngine为由Rhino拓展的类,用于解释JS脚本

if(UScriptEngine.exec(con)){

UScriptEngine.exec(do);

}

}

}

java2d游戏引擎_2 - Java2D+3D游戏王(Yo-Gi-Oh!)开发日志_Linux编程_Linux公社-Linux系统门户网站...相关推荐

  1. linux如何运行windows游戏,cedega - Ubuntu下也玩Windows游戏,三种途径开启魔兽[图文]_Linux教程_Linux公社-Linux系统门户网站...

    3. cedega: Cedega6.0的安装和配置 (deb安装,最新版本为6.1) 安装过程: 下载后解压cedega.6.0.tar.bz2,得到两个文件 : cedega-small_6.0_ ...

  2. 幼儿linux教程,新增20多种小游戏 - 专为3岁儿童设计的Ubuntu 10.10应用体验_Linux教程_Linux公社-Linux系统门户网站...

    新增20多种小游戏 也许是开发者觉得儿童最喜欢的就是游戏了,所以集成了20多种游戏,包括:贪吃蛇.俄罗斯方块.对对碰.国际象棋.黑白棋以及十几种逻辑等. 游戏 其中,在逻辑游戏中,有一款gbralny ...

  3. Java2D+3D游戏王(Yo-Gi-Oh!)开发日志3 —— 卡片编辑器

    先做了个卡片编辑器的原型.目前支持基本属性设置和图像上传.过几天将实现卡片效果添加.然后就可以开始游戏平台的设计和制作了.

  4. 游戏王java_Java2D+3D游戏王(Yo-Gi-Oh!)开发日志1

    这几天,看了一下游戏王的效果怪兽卡片. 游戏王有几千张卡,效果很多.而且效果与:玩家生命.魔法.陷阱.场地.手牌.墓地.除外区.地形.卡组--等N个因素相关联.而有些效果甚至是在两个不同因素之间进行, ...

  5. 如何学好3D游戏引擎编程《转自3D游戏引擎网》

    此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰         --阿哲VS自己 QQ79134054多希望大家一起交流与 ...

  6. 如何学好3D游戏引擎编程.txt

    此文为转载,但是值得一看. 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 --阿哲VS自己 QQ79134054多希望大 ...

  7. 计算机游戏系统分析,计算机游戏引擎fly3D系统的实现方式及应用技巧

    摘要: 引擎的概念是在机器化作业的背景下诞生的.为最大限度的缩短平均开发周期和减少重复劳动,借用类似题材游戏中的部分代码作为新游戏的基本框架以节省开发时间和开发费用是十分必要的.这里所谓的" ...

  8. 游戏产业链:游戏引擎

    游戏引擎 在游戏开发领域,有一种特殊类型的公司.他们不制作游戏(或者说,主业不是制作游戏),而是开发制作游戏的工具:游戏引擎. 所谓游戏引擎,可以直观的理解为一个工具包.就像我们借助Photoshop ...

  9. 目前游戏行业内部主要几款游戏引擎的技术对比(转)

    如果只有客户端的话,可以考虑用gamebryo,技术好一点,用ogre也可以,如果规模不大,用unity3d,如果很有钱,要效果很好的,用unreal3,bigworld是带服务器的,如果能力不够,最 ...

最新文章

  1. 项目回顾1-图片上传-form表单还是base64-前端图片压缩
  2. MIT探索深度学习网络的基础理论
  3. 计算机网络相关的知识,计算机网络相关知识整理
  4. 为什么中国企业海外营销都选择Facebook?
  5. 项目关键路径与项目最长路径有可能不同
  6. ios 测试证书配置
  7. 3万字细说数据仓库体系(建议收藏)
  8. java实现微信公众号API服务端调用封装
  9. 智能优化算法:饥饿游戏搜索算法-附代码
  10. nape.dynamics.InteractionFilter
  11. nisp和cisp证书有什么区别
  12. 平面波导型光分路器行业调研报告 - 市场现状分析与发展前景预测
  13. 晕菜~~~竟然出了这样的事情~~
  14. python可爱代码,三分钟用Python带你画出一只可爱布朗熊
  15. extmail mysql数据库 重启_Extmail邮件服务器centos搭建(一)(示例代码)
  16. 手机短信验证码接口在各领域的应用
  17. bind()和on()的区别
  18. crontab 问号_Linux 命令 crontab 使用疑问
  19. FairMOT训练kitti tracking数据集的汽车类(参考FairVehicle)
  20. ToShiBa东芝打印机编程C#--发送指令打印

热门文章

  1. javaweb JAVA JSP幼儿园事务管理系统jsp幼儿早教中心网站系统 Java幼儿园网站源码
  2. Python绘制饼状图
  3. ERROR: The Nouveau kernel driver is currently in use by your system;新电脑安装NVIDIA的GPU驱动报错问题解决
  4. 爬取数据出现乱码的解决方法
  5. dell 服务器硬盘failed,DELL服务器PERC-5-6RAID操作系统下诊断硬盘故障(tty)手册.pdf
  6. bert 中文 代码 谷歌_BERT系列文章汇总导读
  7. Excel 2010 SQL应用073 DATEDIFF函数
  8. Android的任务栈以及应用场景
  9. c++ string转char* 乱码问题全面解决
  10. 自考计算机应用 难度,计算机自考本科难度如何