根據網路上找的概率圖(未驗證真實性),放入代碼中測試,代碼和圖片如下:
/** * 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 終極測試 讓我看看旭旭寶寶到底多強!
媽耶!增幅王牛批
-------------------------------------------------------
不能代表遊戲數據
就當娛樂看吧