教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 拆解游戏开发中策划配置动态公式问题

拆解游戏开发中策划配置动态公式问题

发布时间:2016-10-20   编辑:jiaochengji.com
教程集为您提供拆解游戏开发中策划配置动态公式问题等资源,欢迎您收藏本站,我们将为您提供最新的拆解游戏开发中策划配置动态公式问题资源
下文为各位介绍拆解游戏开发中策划配置动态公式问题,这个是基于java游戏发开的例子,希望文章能够帮助到大家。


游戏开发中,策划总希望自己能配置奖励等公式,从程序这边对于这种太动态的东西是有点不太想去实现添加它;

既然有需求也要实现,从spring里剥离的SpelExpressionParser 可以很好的解决这个问题, 支持常见的 —X/(加减乘除) 和指数计算^等

依赖 spring-expression-3.2.8.RELEASE.jar, 运行还需要 核心库 spring-core-3.2.8.RELEASE.jar
上代码:


package com.i5a6.semp.test;
 
import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;
 
public class TestExpress {
 
 public static void main(String[] args) {
  int num = dynamicCalOutput(2, 2, "#playerLevel^(1/2.7)*100*#num");
 
  System.out.println((Math.pow(2, (1 / 2.7)) * 100));
  System.out.println(num);
 
 }
 
 public static int dynamicCalOutput(int lev, int num, String arithmetic) {
  if (arithmetic == null || arithmetic.length() <= 0) {
   return 0;
  }
  ExpressionParser parser = new SpelExpressionParser();
  Expression expression = parser.parseExpression(arithmetic);
 
  EvaluationContext context = new StandardEvaluationContext();
  context.setVariable("playerLevel", lev);
  context.setVariable("num", num);
  return expression.getValue(context, Integer.class);
 }
}

您可能感兴趣的文章:
拆解游戏开发中策划配置动态公式问题
使命召唤游戏卡如何设置 使命召唤游戏最低配置要求
php可以做网页游戏吗
H5开发:实现消灭星星游戏的详细内容
英雄联盟游戏卡如何设置 英雄联盟游戏卡最低配置要求
靠谱助手运行游戏卡问题解决办法
网站策划书参考
逆战游戏卡如何设置 逆战游戏卡问题分析
解决龙之信条:黑暗觉者无限加载问题
剑灵游戏卡怎么设置 剑灵游戏最低配置多少

[关闭]
~ ~