java经典习题-模拟地下城与勇士(DNF)的装备强化

java模拟地下城与勇士(DNF)的装备强化

tip1:

  • DNF装备强化在+1~+3 不会失败;
  • +4~+7,失败后物品原有强化等级降低1级;
  • +8~+10,失败后掉3级;
  • 10上11或以上就爆了。

tip2:

  • 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执行强化,根据原始等级以及强化的成功率,显示装备的强化结果,具体实现代码如下:

package demo;

import java.util.Scanner;

/**
 * 输入装备的原始等级,输入1执行强化,根据原始等级以及强化的成功率,显示装备的强化结果
 * @author Administrator
 *
 */
public class Test1 {
	public static void main(String[] args) {
		//用户输入当前装备的等级和输入1开始强化
		Scanner sc= new Scanner(System.in);
		System.out.println("请输入您装备的原始等级:");
		int m=sc.nextInt();
		System.out.println("确认强化请输入1:");
		int n=sc.nextInt();
		double j;
		double p=0;
		//从用户输入的装备等级得到装备升级的成功率
		switch(m) {
		case 0:
		case 1:
		case 2:
			p=1;
			break;
		case 3:
			p=0.95;
			break;
		case 4:
			p=0.9;
			break;
		case 5:
			p=0.8;
			break;
		case 6:
			p=0.75;
			break;
		case 7:
			p=0.621;
			break;
		case 8:
			p=0.537;
			break;
		case 9:
			p=0.414;
			break;
		case 10:
			p=0.339;
			break;
		case 11:
			p=0.28;
			break;
		case 12:
			p=0.207;
			break;
		case 13:
			p=0.173;
			break;
		case 14 :
			p=0.136;
			break;
		case 15:
			p=0.101;
			break;
		}
		//因为概率都是小于1的,直接设置一个0到1的随机数,如果这个随机数大于概率说明失败了
		j=Math.random();
		//开始判断是否成功
		switch(m) {
		case 0:
		case 1:
		case 2:
			m++;
			break;
		case 3:
		case 4:
		case 5:
		case 6:
			if(j>p) {
				m--;
			}else {
				m++;
			}
			break;
		case 7:
		case 8:
		case 9:
			if(j>p) {
				m-=3;
			}else {
				m++;
			}
			break;
			default:
				if(j>p) {
					System.out.println("很遗憾,您的装备爆了...");
				}else {
					m++;
				}
		}
		System.out.println("恭喜您升级成功啦!!!您装备的当前等级为"+m);
	}
}

以上就是全部代码。

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页