• 【DNF --- 增幅代码】


    根据网路上找的概率图(未验证真实性),放入代码中测试,代码和图片如下:

    /**
         * main方法启动
         * @param args
         */
        public static void main(String[] args) {
            DNF(20);
        }
    
        /**
         * DNF
         * 马哥增幅器
         * 增幅到指定级别
         * @param level 增幅等级
         */
        public  static void DNF(int level) {
          //  1   2   3   4  5  6  7  8  9  10 11  12  13  ......12之后都是20%概率
          // 100 100 100 100 80 70 60 70 60 50 40  30  20  ......
          //                 -1 -1 -1 0  0   0 zb  zb  zb  ......5-7掉级 8、9、10清零 10+炸裂
          //增幅等级
          int a = 0;
          //摧毁装备数
          int zb= 0;
          //增幅次数
          int i = 0;
          //--------------------------------------------------------------------
          for(i=0;a!=level;i++){
              switch (a){
                  case 0:  a++;break;
                  case 1:  a++;break;
                  case 2:  a++;break;
                  case 3:  a++;break;
                  case 4:  if(Math.random()<=0.8){a++;}else{a--;}break;
                  case 5:  if(Math.random()<=0.7){a++;}else{a--;}break;
                  case 6:  if(Math.random()<=0.6){a++;}else{a--;}break;
                  case 7:  if(Math.random()<=0.7){a++;}else{a=0;}break;
                  case 8:  if(Math.random()<=0.6){a++;}else{a=0;}break;
                  case 9:  if(Math.random()<=0.5){a++;}else{a=0;}break;
                  case 10: if(Math.random()<=0.4){a++;}else{a=0;zb++;}break;
                  case 11: if(Math.random()<=0.3){a++;}else{a=0;zb++;}break;
                  case 12: if(Math.random()<=0.2){a++;}else{a=0;zb++;}break;
                  case 13: if(Math.random()<=0.2){a++;}else{a=0;zb++;}break;
                  case 14: if(Math.random()<=0.2){a++;}else{a=0;zb++;}break;
                  case 15: if(Math.random()<=0.2){a++;}else{a=0;zb++;}break;
                  case 16: if(Math.random()<=0.2){a++;}else{a=0;zb++;}break;
                  case 17: if(Math.random()<=0.2){a++;}else{a=0;zb++;}break;
                  case 18: if(Math.random()<=0.2){a++;}else{a=0;zb++;}break;
                  case 19: if(Math.random()<=0.2){a++;}else{a=0;zb++;}break;
                  default: System.out.println(i+"---"+a+"---"+zb);
              }
          }
          System.out.println("马哥增幅+"+a+"太极天帝剑");
          System.out.println("马哥一共增幅了"+i+"次");
          System.out.println("马哥炸了"+zb+"把太极天帝剑");
          System.err.println("祝兄弟们神话毕业!");
      }
    

      测试用例:+8 +9 +10 +20

      测试结果:

    +8

    第三次测试起飞,直上8!

    +9

     

     难道我真的是欧皇?

    +10

     看起来+10还是很简单的,就是不知道为什么马哥总是失败

    +20 终极测试  让我看看旭旭宝宝到底多强!

     妈耶!增幅王牛批

     -------------------------------------------------------

    不能代表游戏数据

    就当娱乐看吧

      

  • 相关阅读:
    mysql慢查询日志功能的使用
    回顾JavsScript对象的克隆
    JavaScript的几种继承方式
    再谈JavaScript中的闭包
    重温JavaScript预编译的四个步骤
    PHP常用设计模式
    编译 php-memcache 扩展时提示Cannot find autoconf
    CentOS 7 下编译安装lnmp之PHP篇详解
    CentOS 7 下编译安装lnmp之MySQL篇详解
    MySQL的转义符 ` 作用
  • 原文地址:https://www.cnblogs.com/xiaoluohao/p/13476904.html
Copyright © 2020-2023  润新知