王者榮耀中一個英雄是怎么被產(chǎn)生的?

版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
https://blog.csdn.net/ILOVEMYDEAR/article/details/116431337
王者榮耀中一個英雄是怎么被產(chǎn)生的?(一)
(對象和類的小練習(xí)一)
我是一個比較愛玩游戲的人,比如王者榮耀。我常常在想,如果我可以自己創(chuàng)造一個英雄那該多好,現(xiàn)在我要開始以自己的想法來實現(xiàn)我的愿望,也來練習(xí)練習(xí)自己對于java對象的認(rèn)識。
一、前期準(zhǔn)備
我們要在IDEA上創(chuàng)建一個新的項目,創(chuàng)建好一個項目后,我們需要創(chuàng)建5個包,分別是英雄包,裝備包,銘文包,野怪包,皮膚包
然后我們就可以一個一個的實現(xiàn)這些功能了。

二、實現(xiàn)我的英雄夢!
1. 英雄基本屬性實現(xiàn)
package Hero;//英雄的基本屬性public class Hero {public String name; //英雄的名字public String type; //英雄的職業(yè)public int blood; //英雄的基本血量public int phyattack; //英雄的基本物理攻擊public int Magicattavk; //英雄的基本法術(shù)攻擊public int phyfangyu; //英雄的基礎(chǔ)防御public int attavknum; //普通傷害的值public int move; //移動速度public int money; //經(jīng)濟(jì)public Hero(String name, String type, int blood, int phyattack, int magicattavk, int phyfangyu,int attavknum,int move,int money) {this.name = name;this.type = type;this.blood = blood;this.phyattack = phyattack;this.Magicattavk = magicattavk;this.phyfangyu = phyfangyu;this.attavknum= attavknum;this.move= move;this.money= money;}public String getName() {return name;}public String getType() {return type;}public int getBlood() {return blood;}public int getPhyattack() {return phyattack;}public int getMagicattavk() {return Magicattavk;}public int getPhyfangyu() {return phyfangyu;}public int getAttavknum() {return attavknum;}public void setName(String name) {this.name = name;}public void setType(String type) {this.type = type;}public void setBlood(int blood) {this.blood = blood;}public void setPhyattack(int phyattack) {this.phyattack = phyattack;}public void setMagicattavk(int magicattavk) {Magicattavk = magicattavk;}public void setPhyfangyu(int phyfangyu) {this.phyfangyu = phyfangyu;}public void setAttavknum(int attavknum) {this.attavknum = attavknum;}//受到普通攻擊public int bnormalAttack(int attavknum){if(this.phyfangyu-this.attavknum<=0){int res = this.phyfangyu-this.attavknum;return this.blood+res;}return blood-this.attavknum;}//普通攻擊public int znormalAttack(){if(this.type=="射手"||this.type=="戰(zhàn)士"||this.type=="刺客"){this.attavknum+=phyattack;}if(this.type=="法師"){this.attavknum+=Magicattavk;}return attavknum;}}
2. 裝備包
裝備太多了,我主要寫一些我平時比較喜歡的幾個裝備,有興趣的盆友可以自己練習(xí)多寫幾個
鞋子
package zhuangbei;//抵抗之靴/*** 效果:減低敵方的攻擊,也就是增加自己的物防*/public class Shoe {public String name = "抵抗之靴";public int phyattack=200;public int mckattack=0;public int move = 200;//英雄移動速度+200;public Shoe() {}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getPhyattack() {return phyattack;}public void setPhyattack(int phyattack) {this.phyattack = phyattack;}public int getMckattack() {return mckattack;}public void setMckattack(int mckattack) {this.mckattack = mckattack;}public int getMove() {return move;}public void setMove(int move) {this.move = move;}}
反甲
package zhuangbei;//反甲public class Fajia {public String name = "反甲";public int phyattack = 40;public int phyfanyu = 420;public double fashang = 0.2; //冷卻時間public int getPhyattack() {return phyattack;}public void setPhyattack(int phyattack) {this.phyattack = phyattack;}public int getPhyfanyu() {return phyfanyu;}public void setPhyfanyu(int phyfanyu) {this.phyfanyu = phyfanyu;}public double getFashang() {return fashang;}public void setFashang(double fashang) {this.fashang = fashang;}}
暗影戰(zhàn)斧
package zhuangbei;//暗影戰(zhàn)斧/*** */public class Anyinzhanfu {public String name = "暗影戰(zhàn)斧";public int phyattack = 85; //加物理攻擊85public int blood = 500; //生命值加500public int cool = 15; //冷卻縮減15public int getPhyattack() {return phyattack;}public void setPhyattack(int phyattack) {this.phyattack = phyattack;}public int getBlood() {return blood;}public void setBlood(int blood) {this.blood = blood;}public int getCool() {return cool;}public void setCool(int cool) {this.cool = cool;}}
3. 沒有經(jīng)濟(jì)來源怎么行?野怪實現(xiàn)
我主要寫了野豬,小鳥,河蟹,小兵的類
野豬
package yeguai;public class Pig {public int num = 80;public int getNum() {return num;}public void setNum(int num) {this.num = num;}}
小鳥
package yeguai;public class Bird {public int num = 100;public int getNum() {return num;}public void setNum(int num) {this.num = num;}}
河蟹
package yeguai;public class Heixie {public int num = 150;public int getNum() {return num;}public void setNum(int num) {this.num = num;}}
小兵
package yeguai;public class Xiaobing {public int num = 150;public int getNum() {return num;}public void setNum(int num) {this.num = num;}}
三、開始游戲啦
import Hero.Hero;import yeguai.Bird;import yeguai.Heixie;import yeguai.Pig;import yeguai.Xiaobing;import zhuangbei.Anyinzhanfu;import zhuangbei.Fajia;import zhuangbei.Shoe;public class Deom {public static void main(String[] args) {Hero yase = new Hero("亞瑟","戰(zhàn)士",1000,200,0,500,200,50,0);System.out.println(yase.name);System.out.println(yase.money);//開始發(fā)育(先產(chǎn)生野怪,小兵,河蟹的實例化對象)Pig pig1 = new Pig();Bird Bird = new Bird();Xiaobing xiaobing = new Xiaobing();Heixie heixie = new Heixie();for(int i =0;i<=10;i++){ //打了10輪yase.money+=pig1.getNum()+Bird.getNum()+xiaobing.getNum()+heixie.getNum();}System.out.println(yase.name+"的經(jīng)濟(jì)現(xiàn)在是"+yase.money);//開始創(chuàng)建裝備類System.out.println("購買裝備前:");System.out.println(yase.name+"當(dāng)前的屬性"+"生命值:"+yase.blood+"物理攻擊:"+yase.phyattack+"法術(shù)攻擊:"+yase.Magicattavk+" 物理防御:"+yase.phyfangyu+"移動速度:"+yase.move);if(yase.money>=200){Shoe shoe = new Shoe();System.out.println(yase.name+"購買了"+shoe.name);yase.phyfangyu+=shoe.getPhyattack();yase.move+=shoe.getMove();yase.money=yase.money-200;}if(yase.money>=1200){Fajia fajia = new Fajia();System.out.println(yase.name+"購買了"+fajia .name);yase.phyattack+=fajia.getPhyattack(); //攻擊力+yase.phyfangyu+=fajia.getPhyfanyu(); //防御力+yase.money=yase.money-1200;}if(yase.money>=2000){Anyinzhanfu anyinzhanfu = new Anyinzhanfu();System.out.println(yase.name+"購買了"+anyinzhanfu.name);yase.phyattack+=anyinzhanfu.getPhyattack(); //攻擊力+yase.blood+=anyinzhanfu.getBlood(); //生命力+yase.money=yase.money-2000;}System.out.println("購買裝備后:");System.out.println(yase.name+"當(dāng)前的屬性"+"生命值:"+yase.blood+"物理攻擊:"+yase.phyattack+"法術(shù)攻擊:"+yase.Magicattavk+" 物理防御:"+yase.phyfangyu+"移動速度:"+yase.move);}}

我基本可以實現(xiàn)簡單的創(chuàng)建一個英雄,實現(xiàn)刷野怪,購買裝備的簡單操作,后序我將實現(xiàn)英雄的三個技能和銘文的實現(xiàn)。
PS:如果覺得我的分享不錯,歡迎大家隨手點(diǎn)贊、在看。
評論
圖片
表情
