模擬地下城與勇士(DNF)的裝備強化實現過程
這裡寫自定義目錄標題
模擬地下城與勇士(DNF)的裝備強化實現過程:
題目:
- 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%
要求://方法執行後輸出強化結果:
//nowLevel表示當前裝備等級
//targetLevel表示目標等級
//1.恭喜你強化成功,當前等級:targetLevel
//2.強化失敗,當前等級:nowLevel-1
//3.強化失敗,當前等級:nowLevel-3
//4.很遺憾,強化失敗,裝備損壞
實現思路:
定義一個初始裝備等級nowLevel和目標裝備等級targetLevel,建立一個grade方法,迴圈使用if else 語句來進行判斷,假如裝備等級為3級,定義一個隨機數,用if判斷隨機數生成的數字,例如90%的概率就是隨機生成的數大於10這樣去判斷,所以裝備等級升級或者降級的概率都用次方法來判斷即可,然後再判斷升級的if判斷語句里加入判斷裝備的等級是否與目標等級一致,如果一致的話直接return掉這個方法退出迴圈,輸出語句,寫完每一級的實現程式碼,再加上一個死迴圈即可實現模擬DNF裝備強化的過程。
package com.softeem.lesson02;
import java.util.Scanner;
public class Dnf {
public void grade(int nowLevel, int targetLevel) {
for (int k = 1;; k++) {
if (nowLevel == 1) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else if (nowLevel == 2) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else if (nowLevel == 3) {
int i = (int) (Math.random() * 100);
if (i < 95) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
nowLevel -= 1;
System.out.println("很遺憾,強化失敗,當前您的裝備等級為:" + nowLevel);
}
} else if (nowLevel == 4) {
int i1 = (int) (Math.random() * 100);
if (i1 < 90) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
nowLevel -= 1;
System.out.println("很遺憾,強化失敗,當前您的裝備等級為:" + nowLevel);
}
} else if (nowLevel == 5) {
int i2 = (int) (Math.random() * 100);
if (i2 < 80) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
nowLevel -= 1;
System.out.println("很遺憾,強化失敗,當前您的裝備等級為:" + nowLevel);
}
} else if (nowLevel == 6) {
int i3 = (int) (Math.random() * 100);
if (i3 < 75) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
nowLevel -= 1;
System.out.println("很遺憾,強化失敗,當前您的裝備等級為:" + nowLevel);
}
} else if (nowLevel == 7) {
int j1 = (int) (Math.random() * 1000);
if (j1 < 621) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
nowLevel -= 1;
System.out.println("很遺憾,強化失敗,當前您的裝備等級為:" + nowLevel);
}
} else if (nowLevel == 8) {
int j2 = (int) (Math.random() * 1000);
if (j2 < 537) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
nowLevel -= 3;
System.out.println("很遺憾,強化失敗,當前您的裝備等級為:" + nowLevel);
}
} else if (nowLevel == 9) {
int j3 = (int) (Math.random() * 1000);
if (j3 < 414) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
nowLevel -= 3;
System.out.println("很遺憾,強化失敗,當前您的裝備等級為:" + nowLevel);
}
} else if (nowLevel == 10) {
int j4 = (int) (Math.random() * 1000);
if (j4 < 339) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
System.out.println("很遺憾,強化失敗,裝備損壞");
break;
}
} else if (nowLevel == 11) {
int j5 = (int) (Math.random() * 1000);
if (j5 < 280) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
System.out.println("很遺憾,強化失敗,裝備損壞");
break;
}
} else if (nowLevel == 12) {
int j6 = (int) (Math.random() * 1000);
if (j6 < 207) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
System.out.println("很遺憾,強化失敗,裝備損壞");
break;
}
} else if (nowLevel == 13) {
int j7 = (int) (Math.random() * 1000);
if (j7 < 173) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
System.out.println("很遺憾,強化失敗,裝備損壞");
break;
}
} else if (nowLevel == 14) {
int j8 = (int) (Math.random() * 1000);
if (j8 < 136) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
System.out.println("很遺憾,強化失敗,裝備損壞");
break;
}
} else if (nowLevel == 15) {
int j9 = (int) (Math.random() * 1000);
if (j9 < 101) {
nowLevel += 1;
System.out.println("強化成功,當前您的裝備等級為:" + nowLevel);
if (nowLevel == targetLevel) {
return;
}
} else {
System.out.println("很遺憾,強化失敗,裝備損壞");
break;
}
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("輸入您的裝備等級:");
int nowLevel = sc.nextInt();
System.out.println("輸入您的目標等級:");
int targetLevel = sc.nextInt();
Dnf d = new Dnf();
d.grade(nowLevel, targetLevel);
}
}
測試:
執行以上程式碼輸入當前裝備等級以及目標等級,簡單實現DNF裝備的強化
相關文章
- 《地下城與勇士》NPK對應資源:時裝
- 勇士再並肩!《地下城與勇士》手遊預約破2000萬
- 《地下城與勇士》手遊將於暑期正式上線
- SLM——模擬過程與資料管理平臺
- 【Node】詳解模組的實現過程
- 《地下城與勇士》手遊研發完成 今年暑期正式推出
- 小車側方位停車過程的動態模擬matlab模擬Matlab
- promise的模擬實現Promise
- Web 魔方模擬器的設計與實現Web
- 虛擬化中裝置直通的實現
- 虛擬化的發展歷程和實現方式
- Ubuntu20.04linux核心(5.4.0版本)編譯準備與實現過程-編譯過程(2)UbuntuLinux編譯
- 彭博社:《地下城與勇士》手游上市首周收入1.4億美元
- 前端模組化的演變過程前端
- javascript模擬new的實現JavaScript
- JavaScript 模擬new的實現JavaScript
- Vue響應式原理與模擬實現Vue
- Matlab實現模擬調製與解調Matlab
- 簡單實現.NET Hook與事件模擬Hook事件
- 阿拉德勇士集結!“DNF心悅精英賽”開賽!
- 8.7 一個模組的封裝過程封裝
- LInux實驗 : 程式排程模擬Linux
- JavaScript進階之模擬new Object()過程JavaScriptObject
- JavaScript進階之模擬new Object過程JavaScriptObject
- ATK&CK紅隊評估實戰靶場 (一)的搭建和模擬攻擊過程全過程
- Proteus實現簡單51程式的設計與模擬
- 八百萬勇士的青春迴歸,DNF手遊燃情上線
- strlen函式的模擬實現函式
- 動作巔峰之作《地下城與勇士》手遊正式定檔8月12日
- promise實現過程Promise
- 移動端js模擬截圖生成圖片並下載功能的實現方案+踩坑過程JS
- 【強化學習】強化學習的基本概念與程式碼實現強化學習
- 模擬手機裝置:使用 Playwright 實現移動端自動化測試
- Netty原始碼解析 -- ChannelOutboundBuffer實現與Flush過程Netty原始碼
- 《地下城與勇士手遊》即將上線 6月26日舉行釋出會
- qsort的模擬實現和練習
- 模擬主執行緒等待子執行緒的過程執行緒
- 配置ks.cfg實現自動安裝過程