這篇文章主要介紹如何使用java實現王者榮耀的皮膚和英雄技能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
我們需要創建一個Menu包,來定義一些操作的界面;

Menulogin是游戲選擇英雄皮膚,銘文和進入游戲的界面;代碼簡單易懂,我就不解釋了
package Menu;
import java.util.Scanner;
public class Menulogin {
public static int Menulogin(){
System.out.println("*****備戰選擇*****");
System.out.println("按1 :選擇皮膚");
System.out.println("按2 :選擇銘文");
System.out.println("按3 :進入游戲");
System.out.println("*****************");
Scanner sc = new Scanner(System.in);
int res = sc.nextInt();
switch (res){
case 1: return 1;
case 2: return 2;
case 3: return 3;
default:
System.out.println("參數錯誤,嘗試重新連接"); Menulogin();break;
}
return 0;
}
}Menuable是英雄技能釋放界面
package Menu;
import java.util.Scanner;
public class Menuable {
//技能菜單
public static int Menuable(){
System.out.println("***************");
System.out.println("按1 :技能一(控制)");
System.out.println("按2 :技能二(傷害)");
System.out.println("按3 :技能三(控制)");
System.out.println("按0 :自動平A");
System.out.println("按10 :攻擊野怪");
System.out.println("按11 :購買裝備");
System.out.println("***************");
Scanner sc = new Scanner(System.in);
int res = sc.nextInt();
switch (res){
case 1: return 1;
case 2: return 2;
case 3: return 3;
case 0: return 0;
case 10: return 10;
case 11: return 11;
default:return 4;
}
}
}Menuyeguai是攻擊目標野怪的菜單,主要是通過選擇野怪,并且完成擊殺,獲得金幣
package Menu;
import yeguai.*;
import java.util.Scanner;
public class Menuyeguai {
//刷野菜單
public static int Menuyeguai(){
System.out.println("******選擇要攻擊的野怪******");
System.out.println("1.野豬");
System.out.println("2.小鳥");
System.out.println("3.河蟹");
System.out.println("4.小兵");
System.out.println("5.炮車");
System.out.println("6.紅buff");
System.out.println("7.藍buff");
System.out.println("10.進入技能頁面");
System.out.println("11.進入裝備頁面");
Scanner sc = new Scanner(System.in);
int res = sc.nextInt();
switch (res){
case 1: Pig pig = new Pig(); return pig.getNum();
case 2:
Bird bird = new Bird();return bird.getNum();
case 3:
Heixie heixie = new Heixie();return heixie.getNum();
case 4:
Xiaobing xiaobing = new Xiaobing();return xiaobing.getNum();
case 5:
Paocar paocar = new Paocar();return paocar.getMoney();
case 6:return 1;
case 7:return 0;
case 10:return 10;
case 11:return 11;
default:
System.out.println("無效操作"); return 12;
}
}
}Menuzhuangbei是玩家是進入裝備頁面,購買裝備,增加全方位屬性,目前只實現了抵抗之靴,反甲,暗影戰斧
package Menu;
import java.util.Scanner;
public class Menuzhuangbei {
//裝備頁面
public static int Menuzhuangbei(){
System.out.println("++++++++++++++++++++++");
System.out.println("1.抵抗之靴");
System.out.println("2.反甲");
System.out.println("3.暗影戰斧");
System.out.println("4.極寒風暴");
System.out.println("5.破軍");
System.out.println("6.碎星錘");
System.out.println("7.魔女斗篷");
System.out.println("10.進入技能頁面");
System.out.println("11.進入刷怪頁面");
System.out.println("++++++++++++++++++++++");
Scanner sc = new Scanner(System.in);
int res = sc.nextInt();
switch (res){
case 1: return 1;
case 2: return 2;
case 3: return 3;
case 4: return 4;
case 5: return 5;
case 6: return 6;
case 7: return 7;
case 10:return 10;
case 11:return 11;
default:return 12;
}
}
}我們主要是后端設計,所有我們分析分析一下,如何實現一個皮膚。
如果友友玩過王者榮耀,那么你一定知道,不管一個皮膚有多貴,它可以固定給穿戴的英雄加20點的攻擊力,我是亞瑟的皮膚,所以加20點物理攻擊。如果創建了一個法師英雄,那么加20點法術攻擊?;ɡ锖诘钠つw,其實底層實現很容易,就是建模,美工比較折磨人。

package skin;
import yeguai.*;
import zhuangbei.Fajia;
import java.util.Scanner;
public class Yaseisskin {
public static int Yaseisskin(){
System.out.println("_________________________");
System.out.println(" 1. 亞瑟-圣騎之力 ");
System.out.println(" 2. 亞瑟-死亡騎士 ");
System.out.println(" 3. 亞瑟-獅心王 ");
System.out.println(" 4. 亞瑟-心靈戰警 ");
System.out.println("_________________________");
Scanner sc = new Scanner(System.in);
int res = sc.nextInt();
if(res==1){
int add = Yuanshenskin();
return add;
}
if(res==2){
int add = Firstskin();
return add;
}
if(res==3){
int add = Secondskin();
return add;
}
if(res==4){
int add = Thirdskin();
return add;
}
return 0;
}
private static int Yuanshenskin(){
System.out.println("亞瑟穿上了“亞瑟-圣騎之力”皮膚");
int phyattack =20;
return phyattack;
}
private static int Firstskin(){
System.out.println("亞瑟穿上了“亞瑟-死亡騎士”皮膚");
int phyattack =20;
return phyattack;
}
private static int Secondskin(){
System.out.println("亞瑟穿上了“亞瑟-獅心王 ”皮膚");
int phyattack =20;
return phyattack;
}
private static int Thirdskin(){
System.out.println("亞瑟穿上了“亞瑟-心靈戰警 ”皮膚");
int phyattack =20;
return phyattack;
}
}沒錯,這是我的想法,如果你感興趣,可以在自己創造新的,牛逼,開掛的皮膚。哈哈哈
這個十分簡單,我們只需要拿到所選的皮膚返回值,然后將該返回值賦給英雄的基礎攻擊力就實現了屬性賦予。
代碼如下:
if(menulogin.Menulogin()==1){
int num = Yaseisskin.Yaseisskin();
yase.setPhyattack(yase.getPhyattack()+num);
System.out.println("皮膚穿戴成功!");
System.out.println(yase.getName()+"當前屬性為"+" 金幣 "+yase.getMoney()+" 物理攻擊 "+yase.getPhyattack()+" 血量 "+yase.getBlood()+" 移速 "+yase.getMove()
);
}
四個皮膚具體實現:
原皮 :亞瑟-圣騎之力 無加成
private static int Yuanshenskin(){
System.out.println("亞瑟穿上了“亞瑟-圣騎之力”皮膚");
int phyattack =0;
return phyattack;
}賽季皮膚:亞瑟-獅心王
private static int Secondskin(){
System.out.println("亞瑟穿上了“亞瑟-獅心王 ”皮膚");
int phyattack =20;
return phyattack;
}活動皮膚:亞瑟-死亡騎士
private static int Firstskin(){
System.out.println("亞瑟穿上了“亞瑟-死亡騎士”皮膚");
int phyattack =20;
return phyattack;
}碎片兌換皮膚:亞瑟-心靈戰警
private static int Thirdskin(){
System.out.println("亞瑟穿上了“亞瑟-心靈戰警 ”皮膚");
int phyattack =20;
return phyattack;
}我們實現好皮膚后,點擊進入游戲,那么,我們玩什么,當然是刷怪,打人,推塔(打人,推塔在系列三開始實現)。我現在創建的英雄是亞瑟。 亞瑟有三個技能和一個被動技能;(被動技能我沒有實現,因為木有好想法,友友快快幫忙?。? **第一個技能:**
//亞瑟的一技能
public static int[] Firstable(boolean Redbuff){ //給技能一個參數,如果有紅buff或藍buff,那么技能屬性就會提升
int[] res = new int[4];
if(Redbuff){ //有紅buff
int phyattack = 120;//輸出的傷害
int blood = 200;
int move = 100; //一技能效果加速
res[0]=120;
res[1]=200;
res[2]=100;
}else{ //無紅buff
int phyattack = 100;
int blood = 0;
int move = 100;
res[0]=100;
res[1]=0;
res[2]=100;
}
//一技能特殊屬性,沉默英雄,也就是說,被擊中的英雄2s內無法釋放技能。
res[3] = 1;//標志1為該技能的效果是可以沉默;
return res;
}第二個技能實現:
//亞瑟的二技能
public static int[] Secondable(boolean Redbuff,boolean bluebuff){ //給技能一個參數,如果有紅buff,那么技能屬性就會提升
int[] res1 = new int[4];
int phyattack = 300;
int blood = 0;
int move = 50;
int time1 = 7000; // 每7s ,一個二技能
res1[0]=phyattack;
res1[1]=blood;
res1[2]=move ;
res1[3]=time1;
if(Redbuff){ //有紅buff
phyattack = 400;
blood = 200;
move = 50;
res1[0]=phyattack;
res1[1]=blood;
res1[2]=move;
res1[3]=time1;
}
if(bluebuff){ //有藍buff
time1 = 6000;
res1[3]=time1;
}
return res1;
}第三個技能實現:
//亞瑟的三技能
public static int[] Thirdable(boolean Redbuff,boolean bluebuff){ //給技能一個參數,如果有紅buff,那么技能屬性就會提升
int[] res2 = new int[4];
int phyattack = 600;
int blood = 0;
int move = 50;
int time2 = 12000; //每12s一個三技能
res2[0]=phyattack;
res2[1]=blood;
res2[2]=move ;
res2[3]=time2;
if(Redbuff){ //有紅buff
phyattack = 800;
blood = 400;
move = 50;
res2[0]=phyattack;
res2[1]=blood;
res2[2]=move ;
res2[3]=time2;
}
if(bluebuff){ //有藍buff
time2 = 10000;
res2[0]=phyattack ;
res2[1]=blood ;
res2[2]=move ;
res2[3]=time2;
}
return res2;
}**利用技能菜單,完成技能的使用,**
int flag=menulogin.Menulogin(); //游戲開始標記符;
Boolean red = false;
Boolean blue = false; //默認英雄初始是沒有buff的
while (flag==3) {
Menuable menuable = new Menuable();
Menuyeguai menuyeguai = new Menuyeguai();
Menuzhuangbei menuzhuangbei = new Menuzhuangbei();
int res = menuable.Menuable(); //技能菜單
int[] arr = new int[4];
switch (res) { //技能生效操作
case 1:
System.out.println("當前使用一技能誓約之盾!");
arr = Firstable(red);
break;
case 2:
System.out.println("當前使用二技能回旋打擊!");
arr = Secondable(red, blue);
break;
case 3:
System.out.println("當前使用二技能圣劍裁決!");
arr = Thirdable(red, blue);
break;
case 10:
int res1 = menuyeguai.Menuyeguai();
switch (res1){ //刷野生效操作
case 80:
case 100:
case 150:
case 200:
case 250:yase.setMoney(yase.getMoney()+res1);break;
case 1: red = true;break;
case 0: blue = true;break;
case 10:;
case 11:;
default:
System.out.println("系統錯誤");
}
break;
case 11:
int res2 = menuzhuangbei.Menuzhuangbei();
switch (res2){ //進入裝備購買頁面
case 1:
Shoe shoe = new Shoe();
if(yase.getMoney()>=200){
System.out.println(yase.name+"購買了"+shoe.name);
yase.phyfangyu+=shoe.getPhyattack();
yase.move+=shoe.getMove();
yase.money=yase.money-200;
}else{
System.out.println("金幣不足,無法購買"+shoe.name);
};break;
case 2:
Fajia fajia = new Fajia();
if(yase.getMoney()>=1200){
System.out.println(yase.name+"購買了"+fajia.name);
yase.phyattack+=fajia.getPhyattack(); //攻擊力+
yase.phyfangyu+=fajia.getPhyfanyu(); //防御力+
yase.money=yase.money-1200;
}else {
System.out.println("金幣不足,無法購買"+fajia.name);
};break;
case 3:
Anyinzhanfu anyinzhanfu = new Anyinzhanfu();
if(yase.getMoney()>=2000){
System.out.println(yase.name+"購買了"+anyinzhanfu.name);
yase.phyattack+=anyinzhanfu.getPhyattack(); //攻擊力+
yase.blood+=anyinzhanfu.getBlood(); //生命力+
yase.money=yase.money-2000;
}else {
System.out.println("金幣不足,無法購買"+anyinzhanfu.name);
}
break;
case 10:
case 11:
default:
System.out.println("系統錯誤");
}
break;
case 4:
return;
default:
System.out.println("自動平A中。。。。");
break;
}
yase.setPhyattack(yase.getPhyattack()+arr[0]);
yase.setBlood(yase.getBlood()+arr[1]);
yase.setMove(yase.getMove()+arr[2]);
System.out.println(yase.getName()+"當前屬性為"+" 金幣 "+yase.getMoney()+" 物理攻擊 "+yase.getPhyattack()+" 血量 "+yase.getBlood()+" 移速 "+yase.getMove()
+" 當前技能冷卻時間 "+arr[3]+"ms");
}里面嵌套了裝備購買和刷怪的代碼實現,代碼十分基礎,聰明的友友你一定看的懂。
刷野怪主要是給每個野怪設定了不同的金幣數量,然后通過Switch,進行判斷。
buff是根據返回值,來確定當前是否有buff;
裝備購買的代碼原理一樣,調用裝備類,在購買裝備前先判斷經濟是否滿足條件;

使用一技能:



int res1 = menuyeguai.Menuyeguai();
switch (res1){ //刷野生效操作
case 80:
case 100:
case 150:
case 200:
case 250:yase.setMoney(yase.getMoney()+res1);break;
case 1: red = true;break;
case 0: blue = true;break;
default:
System.out.println("系統錯誤");
}
break;程序運行演示:



int res2 = menuzhuangbei.Menuzhuangbei();
switch (res2){ //進入裝備購買頁面
case 1:
Shoe shoe = new Shoe();
if(yase.getMoney()>=200){
System.out.println(yase.name+"購買了"+shoe.name);
yase.phyfangyu+=shoe.getPhyattack();
yase.move+=shoe.getMove();
yase.money=yase.money-200;
}else{
System.out.println("金幣不足,無法購買"+shoe.name);
};break;
case 2:
Fajia fajia = new Fajia();
if(yase.getMoney()>=1200){
System.out.println(yase.name+"購買了"+fajia.name);
yase.phyattack+=fajia.getPhyattack(); //攻擊力+
yase.phyfangyu+=fajia.getPhyfanyu(); //防御力+
yase.money=yase.money-1200;
}else {
System.out.println("金幣不足,無法購買"+fajia.name);
};break;
case 3:
Anyinzhanfu anyinzhanfu = new Anyinzhanfu();
if(yase.getMoney()>=2000){
System.out.println(yase.name+"購買了"+anyinzhanfu.name);
yase.phyattack+=anyinzhanfu.getPhyattack(); //攻擊力+
yase.blood+=anyinzhanfu.getBlood(); //生命力+
yase.money=yase.money-2000;
}else {
System.out.println("金幣不足,無法購買"+anyinzhanfu.name);
}
break;
case 10:
case 11:
default:
System.out.println("系統錯誤");
}
break;



Java主要應用于:1. web開發;2. Android開發;3. 客戶端開發;4. 網頁開發;5. 企業級應用開發;6. Java大數據開發;7.游戲開發等。
以上是“如何使用java實現王者榮耀的皮膚和英雄技能”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。