提示1:
- DNF装备强化在+1~+3 不会失败;
- +4~+7,失败后物品原有强化等级降低1级;
- +8~+10,失败后掉3级;
- 10上11或以上就爆了。
提示2:
- DNF装备强化1~3级,成功率100%
- DNF装备强化3~4级,成功率95%
- DNF装备强化4~5级,成功率90%
- DNF装备强化5~6级,成功率80%
- DNF装备强化6~7级,成功率75%
- DNF装备强化7~8级,成功率62.1%
- DNF装备强化8~9级,成功率53.7%
- DNF装备强化9~10级,成功率41.4%
- DNF装备强化10~11级,成功率33.9%
- DNF装备强化11~12级,成功率28%
- DNF装备强化12~13级,成功率20.7%
- DNF装备强化13~14级,成功率17.3%
- DNF装备强化14~15级,成功率13.6%
- DNF装备强化15~16级,成功率10.1%
实现流程:
要求输入装备的原始等级,输入1执行强化,根据原始等级以及强化的成功率,显示装备的强化结果
代码如下:
import java.util.Scanner;
public class Test2 {
static int level, t;
public static void main(String[] args){
double p = 0.0;
int k;
System.out.print("请输入当前装备等级:");
Scanner sc = new Scanner(System.in);
level= sc.nextInt();
for(int i=1;;i++){
float n=(float)(Math.random()*100);
if(level==16){
System.out.println("已强化到最高级");
return;
}
switch (level){
case 1:
case 2: p = 100; break;
case 3: p = 95; break;
case 4: p = 90; break;
case 5: p = 80; break;
case 6: p = 75; break;
case 7: p = 62.1; break;
case 8: p = 53.7; break;
case 9: p = 41.4; break;
case 10: p = 33.9; break;
case 11: p = 28; break;
case 12: p = 20.7; break;
case 13: p = 17.3; break;
case 14: p = 13.6; break;
case 15: p = 10.1; break;
default:System.out.println("输入错误!");break;
}
check(p, n, i);
if(t == 1) {
return;
}
}
}
public static void check(double p, float n, int i){
int k = 0;
switch(level) {
case 1:
case 2: k = 0; break;
case 3:
case 4:
case 5:
case 6: k = 1; break;
case 7:
case 8:
case 9: k = 2; break;
case 10:
case 11:
case 12:
case 13:
case 14:
case 15: k = 3; break;
default: break;
}
System.out.println(n);//随机的概率,可注释掉
if(n<p){
level++;
System.out.println("强化成功!你装备当前的等级为:"+level);
System.out.println("已强化"+i+"次");
}else {
if(k == 1) {
level--;
System.out.println("强化失败!你装备当前的等级为:"+level);
System.out.println("已强化"+i+"次");
}else if(k == 2) {
level -= 3;
System.out.println("强化失败!你装备当前的等级为:"+level);
System.out.println("已强化"+i+"次");
}else {
System.out.println("强化失败!你装备爆了");
System.out.println("已强化"+i+"次");
t = 1;
}
}
}
}