【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 终极测试 让我看看旭旭宝宝到底多强!



妈耶!增幅王牛批
-------------------------------------------------------
不能代表游戏数据
就当娱乐看吧

浙公网安备 33010602011771号