最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
拆解游戏开发中策划配置动态公式问题
时间:2015-04-17 编辑:简简单单 来源:一聚教程网
游戏开发中,策划总希望自己能配置奖励等公式,从程序这边对于这种太动态的东西是有点不太想去实现添加它;
既然有需求也要实现,从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);
}
}
-
上一个: java环境变量设置步骤介绍
相关文章
- 组装游戏机要哪些配置 组装游戏机配置介绍 06-24
- 高端游戏机有什么样的配置 06-24
- 高端游戏主机配置清单 5555元拿下i7 4790+GTX970整机 06-10
- SpringBoot测试配置属性与web启动环境解析 10-24
- vue中将el-switch值true、false改为number类型的1和0解析 10-24
- Vue中的路由配置项meta使用解读 10-24