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)我的英雄夢(mèng)!
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 裝備包
裝備太多了,我主要寫(xiě)一些我平時(shí)比較喜歡的幾個(gè)裝備,有興趣的盆友可以自己練習(xí)多寫(xiě)幾個(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)
我主要寫(xiě)了野豬,小鳥(niǎo),河蟹,小兵的類(lèi)
野豬
package yeguai;
public class Pig {
public int num = 80;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
小鳥(niǎo)
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;
}
}
四、開(kāi)始游戲
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);
//開(kāi)始發(fā)育(先產(chǎn)生野怪,小兵,河蟹的實(shí)例化對(duì)象)
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);
//開(kāi)始創(chuàng)建裝備類(lèi)
System.out.println("購(gòu)買(mǎi)裝備前:");
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+"購(gòu)買(mǎi)了"+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+"購(gòu)買(mǎi)了"+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+"購(gòu)買(mǎi)了"+anyinzhanfu.name);
yase.phyattack+=anyinzhanfu.getPhyattack(); //攻擊力+
yase.blood+=anyinzhanfu.getBlood(); //生命力+
yase.money=yase.money-2000;
}
System.out.println("購(gòu)買(mǎi)裝備后:");
System.out.println(yase.name+"當(dāng)前的屬性"+"生命值:"+yase.blood+"物理攻擊:"+yase.phyattack+"法術(shù)攻擊:"+yase.Magicattavk+
" 物理防御:"+yase.phyfangyu+"移動(dòng)速度:"+yase.move);
}
}

我基本可以實(shí)現(xiàn)簡(jiǎn)單的創(chuàng)建一個(gè)英雄,實(shí)現(xiàn)刷野怪,購(gòu)買(mǎi)裝備的簡(jiǎn)單操作,后序我將實(shí)現(xiàn)英雄的三個(gè)技能和銘文的實(shí)現(xiàn)。
到此這篇關(guān)于python實(shí)戰(zhàn)之王者榮耀的英雄是怎么產(chǎn)生的?的文章就介紹到這了,更多相關(guān)Python王者榮耀內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java實(shí)戰(zhàn)之飛翔的小鳥(niǎo)小游戲
- Java實(shí)現(xiàn)五子棋游戲
- JAVA實(shí)現(xiàn)的CrazyArcade泡泡堂游戲
- Java實(shí)現(xiàn)的迷宮游戲
- java實(shí)戰(zhàn)之飛機(jī)大戰(zhàn)小游戲(源碼加注釋)
- Java實(shí)戰(zhàn)入門(mén)之雙色球彩票小游戲
- java實(shí)戰(zhàn)之猜字小游戲
- Java實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇小游戲
- 基于Java實(shí)現(xiàn)簡(jiǎn)單貪吃蛇游戲
- 利用java開(kāi)發(fā)簡(jiǎn)易版掃雷游戲
- java簡(jiǎn)易小游戲制作代碼
- java實(shí)現(xiàn)2048小游戲(含注釋)
- java實(shí)現(xiàn)簡(jiǎn)單的猜數(shù)字小游戲
- java實(shí)現(xiàn)猜拳游戲試題
- java實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲
- java實(shí)現(xiàn)四子棋游戲
相關(guān)文章
Java中switch-case結(jié)構(gòu)的使用方法舉例詳解
這篇文章主要介紹了Java中switch-case結(jié)構(gòu)使用的相關(guān)資料,switch-case結(jié)構(gòu)是Java中處理多個(gè)分支條件的一種有效方式,它根據(jù)一個(gè)表達(dá)式的值來(lái)執(zhí)行不同的代碼塊,需要的朋友可以參考下2025-01-01
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(35)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07
JAVA實(shí)現(xiàn)往字符串中某位置加入一個(gè)字符串
這篇文章主要介紹了JAVA實(shí)現(xiàn)往字符串中某位置加入一個(gè)字符串,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
SpringBoot定時(shí)任務(wù)的實(shí)現(xiàn)詳解
這篇文章主要介紹了SpringBoot定時(shí)任務(wù)的實(shí)現(xiàn)詳解,定時(shí)任務(wù)是企業(yè)級(jí)開(kāi)發(fā)中最常見(jiàn)的功能之一,如定時(shí)統(tǒng)計(jì)訂單數(shù)、數(shù)據(jù)庫(kù)備份、定時(shí)發(fā)送短信和郵件、定時(shí)統(tǒng)計(jì)博客訪客等,簡(jiǎn)單的定時(shí)任務(wù)可以直接通過(guò)Spring中的@Scheduled注解來(lái)實(shí)現(xiàn),需要的朋友可以參考下2024-01-01
SpringBoot項(xiàng)目打成War布署在Tomcat的詳細(xì)步驟
這篇文章主要介紹了SpringBoot項(xiàng)目打成War布署在Tomcat,本文分步驟結(jié)合圖文實(shí)例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
spring cloud config 配置中心快速實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了spring cloud config 配置中心快速實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
java JDBC系列教程之JDBC類(lèi)的簡(jiǎn)析與JDBC的基礎(chǔ)操作
這篇文章主要介紹了java JDBC系列教程之JDBC類(lèi)的簡(jiǎn)析與JDBC的基礎(chǔ)操作,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07

