楼主修改了原地图的某函数A中一行短小的赋值代码:
原码:i = 0.04 + 0.03 * 【技能】
改后:i = 0.04 + 0.03 * 【技能】 +(【技能】- 1 )*(【技能】- 3 )*(【技能】- 4 )*(( 1 - 1 /(1 * 【英雄】+ 25 /( 1 +(25 -【英雄】)* 999999 ))))
PS:函数A是英雄某技能触发的一部分,【技能】是指返回英雄技能等级的函数,【英雄】是返回英雄自身等级的函数。
改动目的是使技能威力绑定英雄等级来成长,我知道语句太长很难看,明显可以拆分成几行简短语句。
但是知其然,便想知其所以然,以下是问题:
1,这么长的又多常量又多变量又多数学运算的语句,是不是效率太低,会严重到影响游戏中变卡顿吗?这被动技能发动频率很高的。
2,语句中连用了几个除法来确定倍数,会不会有很大误差,特别是1/999999这个运算结果是0吗?变量i是实数变量,反复相除的精度是多少?为了使1/999999等于0,只需改为1/999,还是需要1/9999999999999?
原码:i = 0.04 + 0.03 * 【技能】
改后:i = 0.04 + 0.03 * 【技能】 +(【技能】- 1 )*(【技能】- 3 )*(【技能】- 4 )*(( 1 - 1 /(1 * 【英雄】+ 25 /( 1 +(25 -【英雄】)* 999999 ))))
PS:函数A是英雄某技能触发的一部分,【技能】是指返回英雄技能等级的函数,【英雄】是返回英雄自身等级的函数。
改动目的是使技能威力绑定英雄等级来成长,我知道语句太长很难看,明显可以拆分成几行简短语句。
但是知其然,便想知其所以然,以下是问题:
1,这么长的又多常量又多变量又多数学运算的语句,是不是效率太低,会严重到影响游戏中变卡顿吗?这被动技能发动频率很高的。
2,语句中连用了几个除法来确定倍数,会不会有很大误差,特别是1/999999这个运算结果是0吗?变量i是实数变量,反复相除的精度是多少?为了使1/999999等于0,只需改为1/999,还是需要1/9999999999999?