王者荣耀中的英雄是怎么被创造的?

我是一个比较爱玩游戏的人,比如王者荣耀。我常常在想,如果我可以自己创造一个英雄那该多好,现在我要开始以自己的想法来实现我的愿望,也来练习练习自己对于 java 对象的认识。

前期准备

我们要在 IDEA 上创建一个新的项目,创建好一个项目后,我们需要创建5个包,分别是英雄包,装备包,铭文包,野怪包,皮肤包,然后我们就可以一个一个的实现这些功能了。

实现我的英雄梦

①英雄基本属性实现

代码如下:

 
 
 
 
  1. package Hero;
  2. //英雄的基本属性
  3. public class Hero {
  4.     public String  name; //英雄的名字
  5.     public String type; //英雄的职业
  6.     public int blood; //英雄的基本血量
  7.     public int phyattack; //英雄的基本物理攻击
  8.     public int Magicattavk; //英雄的基本法术攻击
  9.     public int phyfangyu; //英雄的基础防御
  10.     public int attavknum; //普通伤害的值
  11.     public int move; //移动速度
  12.     public int money; //经济
  13.     public Hero(String name, String type, int blood, int phyattack, int magicattavk, int phyfangyu,int attavknum,int move,int money) {
  14.         this.name = name;
  15.         this.type = type;
  16.         this.blood = blood;
  17.         this.phyattack = phyattack;
  18.         this.Magicattavk = magicattavk;
  19.         this.phyfangyu = phyfangyu;
  20.         this.attavknum= attavknum;
  21.         this.move= move;
  22.         this.money= money;
  23.     }
  24.     public String  getName() {
  25.         return name;
  26.     }
  27.     public String getType() {
  28.         return type;
  29.     }
  30.     public int getBlood() {
  31.         return blood;
  32.     }
  33.     public int getPhyattack() {
  34.         return phyattack;
  35.     }
  36.     public int getMagicattavk() {
  37.         return Magicattavk;
  38.     }
  39.     public int getPhyfangyu() {
  40.         return phyfangyu;
  41.     }
  42.     public int getAttavknum() {
  43.         return attavknum;
  44.     }
  45.     public void setName(String name) {
  46.         this.name = name;
  47.     }
  48.     public void setType(String type) {
  49.         this.type = type;
  50.     }
  51.     public void setBlood(int blood) {
  52.         this.blood = blood;
  53.     }
  54.     public void setPhyattack(int phyattack) {
  55.         this.phyattack = phyattack;
  56.     }
  57.     public void setMagicattavk(int magicattavk) {
  58.         Magicattavk = magicattavk;
  59.     }
  60.     public void setPhyfangyu(int phyfangyu) {
  61.         this.phyfangyu = phyfangyu;
  62.     }
  63.     public void setAttavknum(int attavknum) {
  64.         this.attavknum = attavknum;
  65.     }
  66.     //受到普通攻击
  67.     public  int  bnormalAttack(int attavknum){
  68.         if(this.phyfangyu-this.attavknum<=0){
  69.             int res = this.phyfangyu-this.attavknum;
  70.             return  this.blood+res;
  71.         }
  72.         return blood-this.attavknum;
  73.     }
  74.     //普通攻击
  75.     public  int  znormalAttack(){
  76.         if(this.type=="射手"||this.type=="战士"||this.type=="刺客"){
  77.             this.attavknum+=phyattack;
  78.         }
  79.         if(this.type=="法师"){
  80.             this.attavknum+=Magicattavk;
  81.         }
  82.        return attavknum;
  83.     }
  84. }

②装备包

装备太多了,我主要写一些我平时比较喜欢的几个装备,有兴趣的盆友可以自己练习多写几个。

鞋子:

 
 
 
 
  1. package zhuangbei;
  2. //抵抗之靴
  3. /**
  4.  * 效果:减低敌方的攻击,也就是增加自己的物防
  5.  */
  6. public class Shoe {
  7.     public  String name = "抵抗之靴";
  8.     public  int phyattack=200;
  9.     public  int mckattack=0;
  10.     public  int move = 200;//英雄移动速度+200;
  11.     public Shoe() {
  12.     }
  13.     public String getName() {
  14.         return name;
  15.     }
  16.     public void setName(String name) {
  17.         this.name = name;
  18.     }
  19.     public int getPhyattack() {
  20.         return phyattack;
  21.     }
  22.     public void setPhyattack(int phyattack) {
  23.         this.phyattack = phyattack;
  24.     }
  25.     public int getMckattack() {
  26.         return mckattack;
  27.     }
  28.     public void setMckattack(int mckattack) {
  29.         this.mckattack = mckattack;
  30.     }
  31.     public int getMove() {
  32.         return move;
  33.     }
  34.     public void setMove(int move) {
  35.         this.move = move;
  36.     }
  37. }

反甲:

 
 
 
 
  1. package zhuangbei;
  2. //反甲
  3. public class Fajia {
  4.     public  String name = "反甲";
  5.     public  int phyattack = 40;
  6.     public  int phyfanyu = 420;
  7.     public  double fashang = 0.2; //冷却时间
  8.     public int getPhyattack() {
  9.         return phyattack;
  10.     }
  11.     public void setPhyattack(int phyattack) {
  12.         this.phyattack = phyattack;
  13.     }
  14.     public int getPhyfanyu() {
  15.         return phyfanyu;
  16.     }
  17.     public void setPhyfanyu(int phyfanyu) {
  18.         this.phyfanyu = phyfanyu;
  19.     }
  20.     public double getFashang() {
  21.         return fashang;
  22.     }
  23.     public void setFashang(double fashang) {
  24.         this.fashang = fashang;
  25.     }
  26. }

暗影战斧:

 
 
 
 
  1. package zhuangbei;
  2. //暗影战斧
  3. /*
  4. *
  5. * */
  6. public class Anyinzhanfu {
  7.     public  String name = "暗影战斧";
  8.     public int phyattack = 85; //加物理攻击85
  9.     public int blood = 500;   //生命值加500
  10.     public int cool = 15;    //冷却缩减15
  11.     public int getPhyattack() {
  12.         return phyattack;
  13.     }
  14.     public void setPhyattack(int phyattack) {
  15.         this.phyattack = phyattack;
  16.     }
  17.     public int getBlood() {
  18.         return blood;
  19.     }
  20.     public void setBlood(int blood) {
  21.         this.blood = blood;
  22.     }
  23.     public int getCool() {
  24.         return cool;
  25.     }
  26.     public void setCool(int cool) {
  27.         this.cool = cool;
  28.     }
  29. }

③没有经济来源怎么行?野怪实现

我主要写了野猪,小鸟,河蟹,小兵的类。

野猪:

 
 
 
 
  1. package yeguai;
  2. public class Pig {
  3.     public int num = 80;
  4.     public int getNum() {
  5.         return num;
  6.     }
  7.     public void setNum(int num) {
  8.         this.num = num;
  9.     }
  10. }

小鸟:

 
 
 
 
  1. package yeguai;
  2. public class Bird {
  3.     public int num = 100;
  4.     public int getNum() {
  5.         return num;
  6.     }
  7.     public void setNum(int num) {
  8.         this.num = num;
  9.     }
  10. }

河蟹:

 
 
 
 
  1. package yeguai;
  2. public class Heixie {
  3.     public  int num = 150;
  4.     public int getNum() {
  5.         return num;
  6.     }
  7.     public void setNum(int num) {
  8.         this.num = num;
  9.     }
  10. }

小兵:

 
 
 
 
  1. package yeguai;
  2. public class Xiaobing {
  3.     public  int num = 150;
  4.     public int getNum() {
  5.         return num;
  6.     }
  7.     public void setNum(int num) {
  8.         this.num = num;
  9.     }
  10. }

开始游戏啦

 
 
 
 
  1. import Hero.Hero;
  2. import yeguai.Bird;
  3. import yeguai.Heixie;
  4. import yeguai.Pig;
  5. import yeguai.Xiaobing;
  6. import zhuangbei.Anyinzhanfu;
  7. import zhuangbei.Fajia;
  8. import zhuangbei.Shoe;
  9. public class Deom {
  10.     public static void main(String[] args) {
  11.          Hero yase = new Hero("亚瑟","战士",1000,200,0,500,200,50,0);
  12.          System.out.println(yase.name);
  13.         System.out.println(yase.money);
  14.         //开始发育(先产生野怪,小兵,河蟹的实例化对象)
  15.         Pig pig1 = new Pig();
  16.         Bird Bird = new Bird();
  17.         Xiaobing xiaobing = new Xiaobing();
  18.         Heixie heixie = new Heixie();
  19.         for(int i =0;i<=10;i++){  //打了10轮
  20.             yase.money+=pig1.getNum()+Bird.getNum()+xiaobing.getNum()+heixie.getNum();
  21.         }
  22.         System.out.println(yase.name+"的经济现在是"+yase.money);
  23.         //开始创建装备类
  24.         System.out.println("购买装备前:");
  25.         System.out.println(yase.name+"当前的属性"+"生命值:"+yase.blood+"物理攻击:"+yase.phyattack+"法术攻击:"+yase.Magicattavk+
  26.                 " 物理防御:"+yase.phyfangyu+"移动速度:"+yase.move);
  27.         if(yase.money>=200){
  28.             Shoe shoe = new Shoe();
  29.             System.out.println(yase.name+"购买了"+shoe.name);
  30.             yase.phyfangyu+=shoe.getPhyattack();
  31.             yase.move+=shoe.getMove();
  32.             yase.money=yase.money-200;
  33.         }
  34.         if(yase.money>=1200){
  35.             Fajia fajia = new Fajia();
  36.             System.out.println(yase.name+"购买了"+fajia .name);
  37.             yase.phyattack+=fajia.getPhyattack(); //攻击力+
  38.             yase.phyfangyu+=fajia.getPhyfanyu();  //防御力+
  39.             yase.money=yase.money-1200;
  40.         }
  41.         if(yase.money>=2000){
  42.             Anyinzhanfu anyinzhanfu = new Anyinzhanfu();
  43.             System.out.println(yase.name+"购买了"+anyinzhanfu.name);
  44.             yase.phyattack+=anyinzhanfu.getPhyattack(); //攻击力+
  45.             yase.blood+=anyinzhanfu.getBlood();  //生命力+
  46.             yase.money=yase.money-2000;
  47.         }
  48.         System.out.println("购买装备后:");
  49.         System.out.println(yase.name+"当前的属性"+"生命值:"+yase.blood+"物理攻击:"+yase.phyattack+"法术攻击:"+yase.Magicattavk+
  50.                 " 物理防御:"+yase.phyfangyu+"移动速度:"+yase.move);
  51.     }
  52. }

我基本可以实现简单的创建一个英雄,实现刷野怪,购买装备的简单操作,后序我将实现英雄的三个技能和铭文的实现。

作者:沉默着忍受

编辑:陶家龙

出处:http://adkx.net/wkxf2

新闻标题:王者荣耀中的英雄是怎么被创造的?
文章起源:http://www.shufengxianlan.com/qtweb/news34/333834.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联