温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用java实现王者荣耀的皮肤和英雄技能

发布时间:2021-05-18 10:47:03 来源:亿速云 阅读:389 作者:小新 栏目:开发技术

这篇文章主要介绍如何使用java实现王者荣耀的皮肤和英雄技能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、前期准备

我们需要创建一个Menu包,来定义一些操作的界面;

如何使用java实现王者荣耀的皮肤和英雄技能

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;         }     } }

二、没有钱买皮肤,我就自己造!

2.1 皮肤选择界面设计

我们主要是后端设计,所有我们分析分析一下,如何实现一个皮肤。

如果友友玩过王者荣耀,那么你一定知道,不管一个皮肤有多贵,它可以固定给穿戴的英雄加20点的攻击力,我是亚瑟的皮肤,所以加20点物理攻击。如果创建了一个法师英雄,那么加20点法术攻击。花里胡哨的皮肤,其实底层实现很容易,就是建模,美工比较折磨人。

如何使用java实现王者荣耀的皮肤和英雄技能

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;     } }

没错,这是我的想法,如果你感兴趣,可以在自己创造新的,牛逼,开挂的皮肤。哈哈哈

2.2 如何将皮肤属性赋给英雄

这个十分简单,我们只需要拿到所选的皮肤返回值,然后将该返回值赋给英雄的基础攻击力就实现了属性赋予。
代码如下:

 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()             );         }

如何使用java实现王者荣耀的皮肤和英雄技能

四个皮肤具体实现:
原皮 :亚瑟-圣骑之力 无加成

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;     }

三、没有牛逼的英雄技能,玩个锤子!

3.1 确定英雄技能效果

 我们实现好皮肤后,点击进入游戏,那么,我们玩什么,当然是刷怪,打人,推塔(打人,推塔在系列三开始实现)。我现在创建的英雄是亚瑟。    亚瑟有三个技能和一个被动技能;(被动技能我没有实现,因为木有好想法,友友快快帮忙!)    **第一个技能:**
//亚瑟的一技能     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;     }

3.2 英雄技能使用

**利用技能菜单,完成技能的使用,**
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;
装备购买的代码原理一样,调用装备类,在购买装备前先判断经济是否满足条件;

3.3 技能释放演示

如何使用java实现王者荣耀的皮肤和英雄技能

使用一技能:

如何使用java实现王者荣耀的皮肤和英雄技能
如何使用java实现王者荣耀的皮肤和英雄技能
如何使用java实现王者荣耀的皮肤和英雄技能

四、光放技能有什么用,刷怪买装备!

4.1 刷怪实现的方法

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;

程序运行演示:

如何使用java实现王者荣耀的皮肤和英雄技能
如何使用java实现王者荣耀的皮肤和英雄技能
如何使用java实现王者荣耀的皮肤和英雄技能

4.2 购买装备!

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实现王者荣耀的皮肤和英雄技能
如何使用java实现王者荣耀的皮肤和英雄技能
如何使用java实现王者荣耀的皮肤和英雄技能
如何使用java实现王者荣耀的皮肤和英雄技能

Java可以用来干什么

Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。

以上是“如何使用java实现王者荣耀的皮肤和英雄技能”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI