Java實(shí)戰(zhàn)之王者榮耀的英雄是怎么產(chǎn)生的?
一、前期準(zhǔn)備
我們要在IDEA上創(chuàng)建一個(gè)新的項(xiàng)目,創(chuàng)建好一個(gè)項(xiàng)目后,我們需要?jiǎng)?chuàng)建4個(gè)包,分別是英雄包,裝備包,銘文包,野怪包,皮膚包
然后我們就可以一個(gè)一個(gè)的實(shí)現(xiàn)這些功能了。
二、實(shí)現(xiàn)我的英雄夢!
2.1 英雄基本屬性實(shí)現(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; //移動(dòng)速度 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.2 裝備包
裝備太多了,我主要寫一些我平時(shí)比較喜歡的幾個(gè)裝備,有興趣的盆友可以自己練習(xí)多寫幾個(gè)
鞋子
package zhuangbei; //抵抗之靴 /** * 效果:減低敵方的攻擊,也就是增加自己的物防 */ public class Shoe { public String name = "抵抗之靴"; public int phyattack=200; public int mckattack=0; public int move = 200;//英雄移動(dòng)速度+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; //冷卻時(shí)間 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; //加物理攻擊85 public int blood = 500; //生命值加500 public int cool = 15; //冷卻縮減15 public 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; } }
三、野怪實(shí)現(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)生野怪,小兵,河蟹的實(shí)例化對象) 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+"移動(dòng)速度:"+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+"移動(dòng)速度:"+yase.move); } }
我基本可以實(shí)現(xiàn)簡單的創(chuàng)建一個(gè)英雄,實(shí)現(xiàn)刷野怪,購買裝備的簡單操作,后序我將實(shí)現(xiàn)英雄的三個(gè)技能和銘文的實(shí)現(xiàn)。
到此這篇關(guān)于python實(shí)戰(zhàn)之王者榮耀的英雄是怎么產(chǎn)生的?的文章就介紹到這了,更多相關(guān)Python王者榮耀內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java實(shí)戰(zhàn)之飛翔的小鳥小游戲
- Java實(shí)現(xiàn)五子棋游戲
- JAVA實(shí)現(xiàn)的CrazyArcade泡泡堂游戲
- Java實(shí)現(xiàn)的迷宮游戲
- java實(shí)戰(zhàn)之飛機(jī)大戰(zhàn)小游戲(源碼加注釋)
- Java實(shí)戰(zhàn)入門之雙色球彩票小游戲
- java實(shí)戰(zhàn)之猜字小游戲
- Java實(shí)現(xiàn)簡單的貪吃蛇小游戲
- 基于Java實(shí)現(xiàn)簡單貪吃蛇游戲
- 利用java開發(fā)簡易版掃雷游戲
- java簡易小游戲制作代碼
- java實(shí)現(xiàn)2048小游戲(含注釋)
- java實(shí)現(xiàn)簡單的猜數(shù)字小游戲
- java實(shí)現(xiàn)猜拳游戲試題
- java實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲
- java實(shí)現(xiàn)四子棋游戲
相關(guān)文章
SpringBoot項(xiàng)目中新增脫敏功能的實(shí)例代碼
項(xiàng)目中,由于使用端有兩個(gè),對于兩個(gè)端的數(shù)據(jù)權(quán)限并不一樣。Web端可以查看所有數(shù)據(jù),小程序端只能查看脫敏后的數(shù)據(jù),這篇文章主要介紹了SpringBoot項(xiàng)目中新增脫敏功能,需要的朋友可以參考下2022-11-11Java反射 PropertyDescriptor類案例詳解
這篇文章主要介紹了Java反射 PropertyDescriptor類案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08Java中Hashtable類與HashMap類的區(qū)別詳解
Hashtable的應(yīng)用非常廣泛,HashMap是新框架中用來代替Hashtable的類,也就是說建議使用HashMap,不要使用Hashtable??赡苣阌X得Hashtable很好用,為什么不用呢?這里簡單分析他們的區(qū)別。2016-01-01圖解Java?ReentrantLock公平鎖和非公平鎖的實(shí)現(xiàn)
ReentrantLock是Java并發(fā)中十分常用的一個(gè)類,具備類似synchronized鎖的作用。但是相比synchronized,?它具備更強(qiáng)的能力,同時(shí)支持公平鎖和非公平鎖。本文就來聊聊ReentrantLock公平鎖和非公平鎖的實(shí)現(xiàn),需要的可以參考一下2022-10-10Java使用redisson實(shí)現(xiàn)分布式鎖的示例詳解
這篇文章主要為大家詳細(xì)介紹了在Java項(xiàng)目中使用redisson實(shí)現(xiàn)分布式鎖,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以參考一下2023-07-07Java中Collection集合常用API之?Collection存儲(chǔ)自定義類型對象的示例代碼
Collection是單列集合的祖宗接口,因此它的功能是全部單列集合都可以繼承使用的,這篇文章主要介紹了Java中Collection集合常用API?-?Collection存儲(chǔ)自定義類型對象,需要的朋友可以參考下2022-12-12spring-spring容器中bean知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家分享了關(guān)于spring-spring容器中bean知識(shí)點(diǎn)總結(jié),有需要的朋友們可以學(xué)習(xí)下。2019-08-08