heroes2吧 关注:3,032贴子:58,681

【数据流】英雄无敌2 单挑能力真计算,楚酱自制计算器O(∩_∩)O

只看楼主收藏回复


这个计算器,其实再简易不过。 就是输入攻击方,和对方的 攻击力,防御力,破坏值,生命值。当然,最重要的是 双方有多少兵力。 比如100头黑龙,攻击350个独眼巨人。
然后可以算出, 结果。 独眼巨人全挂,黑龙剩余49条。
(当然不可避免的存在误差,还好2代大数量无限接近于平均值!!话说!就别吐槽咱写的代码了。)
有了这个,你就能知道你最想知道的。比如 100个黑龙,能单挑几个黑泰坦??数据的临界值又在哪里?

亲,别走开。 具体内容见下——


IP属地:陕西1楼2015-02-12 14:51回复
    龙行虎步十冠王被楼主禁言,将不能再进行回复
    #include "stdio.h"
    #include "conio.h"
    int main()
    {
    int i=1;
    int gh1=0,gh2=0,h1=300,h2=80,n1=100,n2=350, a1=14,d1=14, p1=37.5, a2=12, d2=9,p2=18 ;
    int gn1=n1,gn2=n2;
    /* printf(" A Attack B fire ball \n"); gh1 剩余血数量 gn 剩余xue数量*/
    /*puts(" Input a1,d1,a2,he d2 \n \n"); */
    /* scanf(" %d,%d,%d,%d,%d /n /n",&a1,&a2,&d1,&d2); */
    printf("a1=%d,d2=%d, \n",a1,d2);
    printf("a2=%d,d1=%d, \n",a2,d1);
    gh2=h2*n2,gh1=h1*n1;
    for(i=1;0<i<=25;)
    {
    printf(" A Attack B fire ball gn1=%d\n",gn1);
    if (a1>d2)
    { if (a1-d2>=20)
    {gh2=gh2-3.0*p1*gn1; gn2=gh2/h2+1; printf("gh2=%d, rest %d \n",gh2,gn2); }
    else if (0<=a1-d2<20)
    {gh2=gh2-((a1-d2)*0.1+1)*p1*gn1 ; gn2=gh2/h2+1;
    printf("gh2=%d, rest %d \n",gh2,gn2); } }
    if(a1<=d2)
    { if(d2-a1>18)
    {gh2=gh2-0.2*p1*gn1; gn2=gh2/h2+1; printf("gh2=%d, rest %d \n",gh2,gn2); }
    else if(0<d2-a1<18)
    gh2=gh2- (1-(d2-a1)*0.05)*p1*gn1 ; gn2=gh2/h2+1;
    printf("gh2=%d, rest %d \n",gh2,gn2); }
    if(gh2<=0) /*tui xunhuan*/
    {puts("h2 over\n");
    break; }
    if(gh2>0)
    { printf(" B Attack A ice pike gn2=%d\n",gn2);
    if (a2>d1)
    { if (a2-d1>=20)
    {gh1=gh1-3.0*p2*gn2; gn1=gh1/h1+1; printf("gh1=%d, rest %d \n",gh1,gn1); }
    else if (0<=a2-d1<20)
    {gh1=gh1-((a2-d1)*0.1+1)*p2*gn2 ;gn1=gh1/h1+1; printf("gh1=%d, rest %d \n",gh1,gn1);
    } }
    if(a2<=d1)
    { if(d1-a2>18)
    {gh1=gh1-0.2*p2*gn2; gn1=gh1/h1+1; printf("gh1=%d, rest %d \n",gh1,gn1); }
    else if(0<d1-a2<18)
    {gh1=gh1- (1-(d1-a2)*0.05)*p2*gn2 ; gn1=gh1/h1+1;
    printf("gh1=%d, rest %d \n",gh1,gn1); } }
    }
    if(gh1<=0)
    {puts("h1 over\n");
    break; }
    if(gh1>0)
    {i++; /*printf("i=%d, \n",i);*/ }
    /* jieshu*/
    }
    getch();
    return 0;
    }


    IP属地:陕西3楼2015-02-12 15:01
    收起回复
      以上代码,纯属 抛砖引玉之用。
      紫英当然希望能有人能做出,更好用的,或者直接有UI界面,选兵种类型的。


      IP属地:陕西4楼2015-02-12 15:16
      收起回复

        比如说,这场战斗, 进攻方 10条黑龙 攻击防御14,破坏37.5,
        防御方 3000只农民


        IP属地:陕西6楼2015-02-12 15:34
        收起回复
          最终结果,黑龙 剩下4条。 农民全灭


          IP属地:陕西7楼2015-02-12 15:36
          回复
            有个这个计算器。
            任意两个兵种。 不考虑那些特技 (像是独眼的麻痹)
            任意数量兵种互相捶,都可以算出来。最后谁能打赢,战果如何。 如果一方减少数量,大概多少才能翻盘
            (金甲是自己只要把攻击代码复制一遍。)


            IP属地:陕西8楼2015-02-12 15:42
            收起回复
              以下是 实际战例。
              100条黑龙,单挑 118只黑泰坦。 双方打得异常惨烈!
              最后黑龙幸存14条。泰坦全灭。


              IP属地:陕西9楼2015-02-12 15:46
              收起回复
                100条黑龙,大战 150条绿龙
                此战预演了三代之争(大雾) 亦是惊天地泣鬼神
                最终黑龙幸存21条,绿龙全灭。


                IP属地:陕西10楼2015-02-12 15:50
                收起回复
                  单挑几回成往事,英二依旧枕寒流!
                  凤凰是比较特殊的。因为速度最快。 假设凤凰被减速了。黑龙先攻
                  100黑龙,大概正好打赢268凤凰
                  实际凤凰先出手。


                  IP属地:陕西11楼2015-02-12 16:12
                  收起回复
                    黑龙打骨龙,也差不多是 100打 213条。 凤凰应该是215左右


                    IP属地:陕西13楼2015-02-12 16:28
                    收起回复
                      100黑龙,正好打赢393 独眼


                      IP属地:陕西14楼2015-02-12 16:42
                      收起回复
                        金甲 大战独眼。 假如免疫麻痹
                        金甲完胜
                        剩下61个


                        IP属地:陕西15楼2015-02-12 16:44
                        回复
                          我们来看,实际游戏中的战例。 可以看出 误差非常小

                          开场释放反魔法!!
                          ======================
                          有了镭射眼镜。100独眼,怎么是我 100金甲的对手。

                          ================
                          最后 金甲剩下59个。 几乎和计算器一样。


                          IP属地:陕西16楼2015-02-12 16:58
                          回复
                            如果 独眼先出手。 金甲依然苦战,但是依然胜出。 最后损失91个,独眼全灭。


                            IP属地:陕西17楼2015-02-12 17:05
                            回复

                              (12楼)我把凤凰的攻防,应该是输错了。 重算一下


                              IP属地:陕西18楼2015-02-12 18:01
                              回复