拆解游戏开发中策划配置动态公式问题
游戏开发中,策划总希望自己能配置奖励等公式,从程序这边对于这种太动态的东西是有点不太想去实现添加它;
既然有需求也要实现,从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开发:实现消灭星星游戏的详细内容
英雄联盟游戏卡如何设置 英雄联盟游戏卡最低配置要求
靠谱助手运行游戏卡问题解决办法
网站策划书参考
逆战游戏卡如何设置 逆战游戏卡问题分析
解决龙之信条:黑暗觉者无限加载问题
剑灵游戏卡怎么设置 剑灵游戏最低配置多少