你只需要模拟战斗过程,即时得到结果,然后过程结果各自存库就OK了,需要时调出过程即可。开1个线程即可,然后bm和dh的战斗时,线程计算
0秒双方互殴,技能各自运算,然后开始根据间隔值模拟各自出手顺序,设定最大回合数为50,按间隔最短的人为50回合为止,再根据时间线开始模拟然后,50分就是没下文了,哈哈,再加分给思路,不然也太不值钱了,你对知识的欲望也就值50分,这样不太好吧,哈哈

解决方案 »

  1.   

    好吧,以前想过该类问题,所以有自己的想法,其主要难点在于时间线,即什么时候轮到a攻击,什么时候轮到b攻击,完全有可能当a攻击两次时b才攻击,而且如果伤害过小,而导致信息庞大,这就完全没必要了,比如a攻击b一次只少1点血,b攻击a只一点血,而ab都有几百点血,总不可能信息保存个几百个回合吧,这必须得有个度,设定时间线的好处就是,总攻击是多少,超出总攻击即判定打和了。讲到这里,你可以把时间线看成一条x轴,上面有很多攻击回合,但你只取nn个,时间线的制作当然不可能是真实时间线,不然间隔是2秒,50回合不是打到100秒去了,它只是一个模拟,你可以以当前时间为点,建立一个datatable,分别插入50次a对b的攻击和b对a的攻击,列分别为,a生命     b生命      发生时间        技能攻击描述然后排序一下,然后循环,到50行或a   or    b的生命<=0  就break;掉,看,就这么简单,当然,这只是初步构造,其优化的空间还非常大,只需要再根据自己的需求再优化优化,你的战斗过程就完成了。回答了你的问题,我真伤心,知识真是廉价啊,打了这么多字,给了整个过程模拟,才50分,快点去赚分吧,别让我再伤心一次了。