请教HP的小数位问题。
HP某英雄生命上限200,当前生命值100,当前生命恢复速度0.84hp/s。那么1秒后他的生命值是100.84吗?如果是100.84,我们怎么得到这个小数位的数值? 废话是以小数储存的。。。 游戏平衡常数..
老狼写过个 伤害计算贴 引用第1楼eff于2009-06-23 13:19发表的:
废话是以小数储存的。。。 http://bbs.islga.org/images/back.gif
能详细点么?有公式么?怎么取小数位? 引用第2楼linzefei于2009-06-23 15:24发表的:
游戏平衡常数..
老狼写过个 伤害计算贴 http://bbs.islga.org/images/back.gif
老狼的我看了,没这么具体啊,那些我都知道的。 那个就够了啊...最近我在做ai..
写了个伤害获取函数.
可以准确获取 任意2个单位间 任意次攻击 能实际造成多少伤害...
(事先要储存好 初始属性..)
之后都靠那些公式计算的
比如这个是最上级的函数..
function GetDamage takes integer u1,integer u2,boolean max returns real
local real dg=GetOtherHarm(udg_Data_Unit,udg_Data_Unit,max)
local real am=udg_UnitArmour
local integer type1=GetHandleInt(GetUnitTypeId(udg_Data_Unit),"Data")
local integer type2=GetHandleInt(GetUnitTypeId(udg_Data_Unit),"Data")
local real mdl=udg_DamageModulus*8+udg_BaseArmourType]
if am>0 then
return GetArmour(udg_Data_Unit,dg*mdl/(1+0.05*am))
elseif am<0 then
return GetArmour(udg_Data_Unit,dg*mdl*(2+0.95*am))
else
return GetArmour(udg_Data_Unit,dg*mdl)
endif
endfunction
//0 ,0 ,1.66,0 ,1.66,0 ,0
//攻击类型攻城(0),普通(1),法术(2),混乱(3),穿刺(4),英雄(5),魔法(6)
//护甲类型小型(0),中型(1),大型(2),城墙(3),普通(4),英雄(5),神圣(6),无装甲(7)
//1.00,0.50,1.00,1.50,1.00,0.50,0.40,1.50
//1.00,1.50,0.80,0.70,1.00,1.00,0.40,1.20
//1.00,1.00,1.00,1.00,1.00,0.75,0.40,1.00
//1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00
//1.50,0.75,1.00,0.35,1.20,1.00,0.40,1.50
//1.00,1.00,1.00,0.50,1.00,1.00,0.80,1.00
//1.25,0.75,2.00,0.35,1.00,0.50,0.40,1.00
//1>. 当防御Def>0时,单位所受伤害%为1/(1+0.05*Def)
//2>. 当防御Def<0时,单位所受伤害%为 2-0.95^(-Def) 护甲
如果我要计算某英雄被100点攻击一下去多少血。游戏中他当前护甲显示为3,实际上真实的护甲值是3.84,我怎样在游戏中得到他的准确护甲值?
计算敏捷.
计算初始甲... 引用第6楼linzefei于2009-06-23 20:56发表的:
护甲
如果我要计算某英雄被100点攻击一下去多少血。游戏中他当前护甲显示为3,实际上真实的护甲值是3.84,我怎样在游戏中得到他的准确护甲值?
计算敏捷.
计算初始甲... http://bbs.islga.org/images/back.gif
这个说对了,那hp呢?怎么计算的? ..力量啊..技能啊..初始血啊...这有什么好问的...... lz不要以为ga的人们都很不变态……这个大家都研究过的。
还有阿。lz可以去做个演示,这样大概就可以更好的理解老。比如每次造成0.5伤害,这样伤害2次就可以看到血减少了1点。就能正式老。 恩恩…………支持LS,还有…………LZ你把标题句号后面的删了!!!
剩下的我就想提醒LZ,要真想获得单位的攻击力/防御力,除非你再模拟一个魔兽的攻击力/防御力计算系统………………我写过这个系统,最长的时候3000行…………建议LZ知难而退。
end 找到单位对象指针,然后所有数据都在里边。
不会超过100行的。 HP明明可以直接获得。 对目标+10血,在攻击他10点算一下血量不就好了。。。
考虑好可能会打死的情况,规避掉即可
另外,你离变态还很远呢 多谢各位老大的解答,我已经更新问题了,大家最后再帮忙看看。标题也顺应潮流改了一下,不知是否符合各位老大的口味? 你干什么需要知道这个小数位? 生命恢复 似乎是按 0.05秒 间隔来恢复的 ……………………………………………………………………
本人亲自天罚你………… 引用第17楼血戮魔动冰于2009-06-24 12:44发表的:
……………………………………………………………………
本人亲自天罚你………… http://bbs.islga.org/images/back.gif
哈哈,标题我改了几遍了,没想到还是没符合老大你的口味哈。还劳烦你亲自动手,真是不好意思啊。 引用第15楼eff于2009-06-24 11:27发表的:
你干什么需要知道这个小数位? http://bbs.islga.org/images/back.gif
我想知道,小数位是存在并会计算的吗?
页:
[1]
2