700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java基础实现模拟地下城与勇士(DNF)的装备强化过程

Java基础实现模拟地下城与勇士(DNF)的装备强化过程

时间:2019-03-06 13:42:28

相关推荐

Java基础实现模拟地下城与勇士(DNF)的装备强化过程

大家好,我是kai_Childe,作为一名java刚入门的小白,本期就以java基础来模拟地下城与勇士(DNF)的装备强化过程,并以此来记录我的学习过程。

文章目录

强化未成功惩罚机制各等级强化成功概率一、最终效果预览二、实现步骤1.创建Level类2.创建ChengGonLv类3.创建QiangHua类4.编写测试类5.测试总结

强化未成功惩罚机制

DNF装备强化在+1~+3 不会失败;

+4~+7,失败后物品原有强化等级降低1级;

+8~+10,失败后掉3级;

10上11或以上就爆了。

各等级强化成功概率


一、最终效果预览

二、实现步骤

1.创建Level类

代码如下:

public class Level {/*** 定義一個私有屬性:等級(level),用來存放用戶要強化裝備的初始等級。*/private static int level ;/*** 該方法用於返回level.* @return 返回level*/public int getLevel() {return level;}/*** 該方法用於給私有屬性level傳值。* * @param level*/public void setLevel(int level) {this.level = level;}}

該類用於存取用戶輸入的初始裝備等級。

2.创建ChengGonLv类

代码如下:

public class ChengGonLv {/*** 定義一個int型數據,用來存儲存儲生成的隨機數。*/private static int cgl;/*** 該方法用於給私有屬性cgl傳值。* * @param cgl*/public void setCgl(int cgl) {this.cgl = cgl;}/*** * @return 返回cgl*/public int getCgl() {return cgl;}/*** 該方法用於產生一個0-10000的隨機數*/public void suiJiShu() {setCgl((int) (Math.random() * 100001));}}

該類用於動態產生一個0~100000的隨機數,並對其進行存取操作。後面裝備強化的成功率便是根據此處生成的隨機數判斷。

3.创建QiangHua类

代码如下:

public class QiangHua {/*** 創建Level對象*/Level level = new Level();/*** 定義一個int型變量dengJi用於接收裝備初始等級。*/int dengJi = level.getLevel();/*** 創建ChengGonLv對象*/ChengGonLv cg = new ChengGonLv();/*** 該方法用於強化裝備* * @return 返回強化後的裝備等級*/public int qiangHua() {switch (dengJi) {case 0:case 1:case 2:dengJi++;break;case 3:if (cg.getCgl() > 95000) {dengJi--;} else {dengJi++;}break;case 4:if (cg.getCgl() > 90000) {dengJi--;} else {dengJi++;}break;case 5:if (cg.getCgl() > 80000) {dengJi--;} else {dengJi++;}break;case 6:if (cg.getCgl() > 75000) {dengJi--;} else {dengJi++;}break;case 7:if (cg.getCgl() > 62100) {dengJi -= 3;} else {dengJi++;}break;case 8:if (cg.getCgl() > 53700) {dengJi -= 3;} else {dengJi++;}break;case 9:if (cg.getCgl() > 41400) {dengJi -= 3;} else {dengJi++;}break;case 10:if (cg.getCgl() > 33900) {dengJi = -1;} else {dengJi++;}break;case 11:if (cg.getCgl() > 28000) {dengJi = -1;} else {dengJi++;}break;case 12:if (cg.getCgl() > 20700) {dengJi = -1;} else {dengJi++;}break;case 13:if (cg.getCgl() > 17300) {dengJi = -1;} else {dengJi++;}break;case 14:if (cg.getCgl() > 13600) {dengJi = -1;} else {dengJi++;}break;case 15:if (cg.getCgl() > 10100) {dengJi = -1;} else {dengJi++;}break;default:dengJi = 16;break;}return dengJi;}}

該類接收接收來自Level类和ChengGonLv類存儲的裝備初始等級和隨機數,通過switch語句對裝備進行強化,並返回強化後的等級。

4.编写测试类

import java.util.Scanner;/*** * @author kaishao**/public class DNFZhuangBeiQiangHua {public static void main(String[] args) {// 實例化一個Scanner類對象,用來從鍵盤輸入數據。Scanner sc = new Scanner(System.in);// 實例化一個Level類對象Level level = new Level();System.out.println("=======請輸入裝備的原始等級=======");System.out.print("\t\t");// 接收用戶輸入的初始等級,傳入Level類中儲存。level.setLevel(sc.nextInt());System.out.println();// 實例化一個QiangHua類對象QiangHua qiangHua = new QiangHua();// 實例化一個ChengGonLv類對象ChengGonLv chengGonLv = new ChengGonLv();while (true) {// 生成裝備強化概率chengGonLv.suiJiShu();// 將接收到的裝備強化後的等級賦值給aint a = qiangHua.qiangHua();// -1代表 裝備從等級10上強化到11或以上時失敗銷毀。if (a == -1) {System.out.println("===============抱歉!================");System.out.println("======等級" + level.getLevel() + "強化到等級" + (level.getLevel() + 1) + "失敗=======");System.out.println("============裝備已銷毀=============");break;// 16代表裝備的最高等級,已無法繼續強化} else if (a == 16) {if (level.getLevel() >= 16) {System.out.println("==您的裝備已達到滿級16,無法繼續強化==");} else {System.out.println("===============恭喜!================");System.out.println("=======您的裝備已強化到滿級=======");}break;} else {if (a > level.getLevel()) {System.out.println("===============恭喜!================");System.out.println("=======裝備強化成功,當前等級=======");System.out.println("\t\t" + a + "\n");} else {System.out.println("===============抱歉!================");System.out.println("=======裝備強化失敗,當前等級=======");System.out.println("\t\t" + a + "\n");}System.out.println("============是否繼續強化===========");System.out.println("==========是請輸入1,否請輸入2=========");System.out.print("\t\t");int b = sc.nextInt();System.out.println();if (b == 1) {level.setLevel(a);} else if (b == 2) {break;}}}}}

5.测试


总结

以上就是今天要讲的内容,本文仅仅是对java基础的简单运用,随着学习的加深,我将为大家带来更多内容。

我们下期再见。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。