|

楼主 |
发表于 2011-4-12 16:59:00
|
显示全部楼层
Re:我自己搞了个公式,准备在游戏中就这么干
感谢回复,但结果恰恰是"很小的差异造成很小的影响"呵呵。
我已经在游戏中测试了,基本没问题,因为我的游戏的资源是玩家慢慢获得的,所以
人数优势是硬伤,军事可以随机一点,呵呵,总之按现在的情况没办法做出多种技能效果,只能先搞个简单的了。
应该是我没写清楚.我贴上我的代码片段:
--------------------------------------------------
public int getunit1(int attack,int defence)
{
int tmp=1;
if ( attack>defence ) {tmp=attack-defence;}
return tmp;
}
public int getunit2(int js,int zm)
{
int tmp=1;
Random random = new Random();
if ( js>zm ) {tmp=random.nextInt(js/zm);}
if (tmp==0) {tmp=1; }
return tmp;
}
public int getunit3(int woamount,int diamount)
{
int tmp=1;
if ( woamount>diamount ) {tmp=woamount/diamount;}
return tmp;
}
--------------------------------------------------------
int unit1=getunit1(h.getAttack(),npc.getDefence());
int unit2=getunit2(h.getJs()+h.getJs2(),npc.getZm()+npc.getZm2());
int unit3=getunit3(h.getArmyamount(),npc.getArmyamount());
int aim_lose=(unit1*unit2*unit2*h.getArmyamount())/npc.getArmyblood();
int unit4=getunit1(npc.getDefence(),h.getAttack());
int unit5=getunit2(npc.getJs()+npc.getJs2(),h.getZm()+h.getZm2());
int unit6=getunit3(npc.getArmyamount(),h.getArmyamount());
int hero_lose=(unit4*unit5*unit6*npc.getArmyamount())/h.getArmyblood();
-----------------------------------------------------------------------------
|
|