|
发表于 2012-11-23 21:54:35
|
显示全部楼层
一开始加的那个大概只是预读处理吧~
比如十进制的1,10,100,1000(这些数字是加生命上限技能的数值)
要加5点生命上限的话就是给单位5个加1HP技能
要加24点生命上限的话就是给单位两个加10HP技能和4个加1HP技能
其它类似~
这里假设增量不会超过9999且是整数,小数的话算法做要另外处理
常用的算法就是先把增量/1000(这步是取增量的千位,两个整数相除会自动舍弃所有小数位,比如8192/1000=8而不是8.192),得到的这个值就是要加多少次1000HP的技能
然后增量%1000(这步是取模,mod,就是算余数,别的写法还有增量mod1000这种),得到的余数就是去掉千位后的值,比如8192%1000=192,上面加了千位,所以这里取出百位十位个位继续加
然后重复类似以上两步的步骤,直到增加全部加完~
至于1、2、4、8、……那个,是二进制的算法,类似十进制,不过LZ既然对编程不怎么了解那么用十进制就好了~
二进制就是比十进制需要添加的技能数量少一点,不过物编里面要多几个技能 |
|