日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
王者榮耀中的英雄是怎么被創(chuàng)造的?

我是一個(gè)比較愛玩游戲的人,比如王者榮耀。我常常在想,如果我可以自己創(chuàng)造一個(gè)英雄那該多好,現(xiàn)在我要開始以自己的想法來實(shí)現(xiàn)我的愿望,也來練習(xí)練習(xí)自己對(duì)于 java 對(duì)象的認(rèn)識(shí)。

前期準(zhǔn)備

我們要在 IDEA 上創(chuàng)建一個(gè)新的項(xiàng)目,創(chuàng)建好一個(gè)項(xiàng)目后,我們需要?jiǎng)?chuàng)建5個(gè)包,分別是英雄包,裝備包,銘文包,野怪包,皮膚包,然后我們就可以一個(gè)一個(gè)的實(shí)現(xiàn)這些功能了。

實(shí)現(xiàn)我的英雄夢(mèng)

①英雄基本屬性實(shí)現(xiàn)

代碼如下:

 
 
 
 
  1. package Hero;
  2. //英雄的基本屬性
  3. public class Hero {
  4.     public String  name; //英雄的名字
  5.     public String type; //英雄的職業(yè)
  6.     public int blood; //英雄的基本血量
  7.     public int phyattack; //英雄的基本物理攻擊
  8.     public int Magicattavk; //英雄的基本法術(shù)攻擊
  9.     public int phyfangyu; //英雄的基礎(chǔ)防御
  10.     public int attavknum; //普通傷害的值
  11.     public int move; //移動(dòng)速度
  12.     public int money; //經(jīng)濟(jì)
  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=="戰(zhàn)士"||this.type=="刺客"){
  77.             this.attavknum+=phyattack;
  78.         }
  79.         if(this.type=="法師"){
  80.             this.attavknum+=Magicattavk;
  81.         }
  82.        return attavknum;
  83.     }
  84. }

②裝備包

裝備太多了,我主要寫一些我平時(shí)比較喜歡的幾個(gè)裝備,有興趣的盆友可以自己練習(xí)多寫幾個(gè)。

鞋子:

 
 
 
 
  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;//英雄移動(dòng)速度+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; //冷卻時(shí)間
  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. }

暗影戰(zhàn)斧:

 
 
 
 
  1. package zhuangbei;
  2. //暗影戰(zhàn)斧
  3. /*
  4. *
  5. * */
  6. public class Anyinzhanfu {
  7.     public  String name = "暗影戰(zhàn)斧";
  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. }

③沒有經(jīng)濟(jì)來源怎么行?野怪實(shí)現(xiàn)

我主要寫了野豬,小鳥,河蟹,小兵的類。

野豬:

 
 
 
 
  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("亞瑟","戰(zhàn)士",1000,200,0,500,200,50,0);
  12.          System.out.println(yase.name);
  13.         System.out.println(yase.money);
  14.         //開始發(fā)育(先產(chǎn)生野怪,小兵,河蟹的實(shí)例化對(duì)象)
  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+"的經(jīng)濟(jì)現(xiàn)在是"+yase.money);
  23.         //開始創(chuàng)建裝備類
  24.         System.out.println("購買裝備前:");
  25.         System.out.println(yase.name+"當(dāng)前的屬性"+"生命值:"+yase.blood+"物理攻擊:"+yase.phyattack+"法術(shù)攻擊:"+yase.Magicattavk+
  26.                 " 物理防御:"+yase.phyfangyu+"移動(dòng)速度:"+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+"當(dāng)前的屬性"+"生命值:"+yase.blood+"物理攻擊:"+yase.phyattack+"法術(shù)攻擊:"+yase.Magicattavk+
  50.                 " 物理防御:"+yase.phyfangyu+"移動(dòng)速度:"+yase.move);
  51.     }
  52. }

我基本可以實(shí)現(xiàn)簡(jiǎn)單的創(chuàng)建一個(gè)英雄,實(shí)現(xiàn)刷野怪,購買裝備的簡(jiǎn)單操作,后序我將實(shí)現(xiàn)英雄的三個(gè)技能和銘文的實(shí)現(xiàn)。

作者:沉默著忍受

編輯:陶家龍

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


本文題目:王者榮耀中的英雄是怎么被創(chuàng)造的?
鏈接地址:http://www.5511xx.com/article/ccdppds.html