
目錄
遊戲說明
編輯
屬性.java
對戰.java
PK.java
編譯
遊戲說明
1,登陸: 初始賬号為 1 初始密碼為 1
2,注冊:注冊新賬号密碼替代原賬号
3,選擇人物:1選擇德瑪西亞 2選擇德瑪西亞皇子
4,德瑪每回合恢複20點生命, 增加100金币
5,皇子每回合回複10點生命值 增加100金币
6,鍵盤輸入【p】進入商店
概要與傷害計算:
初始屬性:
/******************德瑪人物屬性********************/
private int HP1=2800; //血量
private int ATK1=60; //攻擊力
private int JQ1=5300; //金币
private int MP1=160; //魔法值
private int MAXHP1=2800; //MAX血量
private int HJ1=50; //護甲
private int 初始HJ1=50; //初始護甲
private int XX1=0; //吸血
private int BJ1=20; //暴擊
/******************皇子屬性********************/
private int HP2=2500; //血量
private int ATK2=70; //攻擊力
private int MP2=160; //魔法值"
private int JQ2=5300; //金币
private int MAXHP2=2500; //MAX血量
private int HJ2=50; //護甲
private int 初始HJ2=50; //初始護甲
private int XX2=0; //吸血
private int BJ2=20; //暴擊
德瑪技能:
q 消耗30點魔法值 造成200傷害并沉默敵方一回合 地方隻能使用普通攻擊(a)
w 消耗35點魔法值 回複240生命值 回複量後生命值不超過自身最大生命值
e 消耗40點魔法值 造成26傷害
r 消耗60點魔法值 造成400基礎傷害加上敵方最大生命值10%的真實傷害
皇子技能:
q 消耗30點魔法值 造成300點傷害
w 消耗35點魔法值 回複250點生命值 回複量後生命值不超過自身最大生命值
釋放w技能後下次普通攻擊必暴擊 暴擊傷害300%若下次不适用普通攻擊則下 下子不享受此特效
e 消耗40點魔法值 造成200點傷害
r 消耗60點魔法值 造成400點傷害
傷害運算公式:
對敵方造成的傷害=自身攻擊力*100/(100+敵方護甲值)
例如:皇子攻擊力為120 德瑪防禦力為150
則皇子攻擊德瑪對德瑪造成的傷害為:120*100/(100+150)
生命偷取:對敵方造成的實際傷害的百分比
荊棘之甲反傷:被普通攻擊命中時,會将你額外護甲值的25%
加上15%的即将到來的傷害以實體傷害的形式回敬給攻擊者。
敵方受到的實際傷害=荊棘之甲反傷*100/(100+自身護甲值)
武器:
*******************攻擊類裝備*****************
《無盡之刃》
唯一被動:暴擊200%。
7.無盡之刃(3800)
(攻擊力+80)
(暴擊+20%)
^ ^ ^
^ ^ ^
^ ^ ^
^ ^ ^
^ ^ ^
^ ^ ^
3.暴風之劍(1550) 5.十字鎬(875) 6.靈巧披風(730)
(攻擊力+50) (攻擊力+25) (暴擊率+15%)
《飲血劍》
唯一被動:+20%生命偷取
4.飲血劍(3500)
(攻擊力+80)
(吸血+20%)
^ ^
^ ^
^ ^
2.吸血鬼權杖(800) 3.暴風大劍(1550)
(攻擊力+10) 攻擊力+(50)
(吸血+10%)
^
^
^
1.長劍(360)
(攻擊力+10)
3.荊棘之甲(2300)
(護甲值+100)
(被動見上文)
^ ^
^ ^
^ ^
2.鎖子甲(730) 1.布甲(300)
(護甲值+40) (護甲值+15)
^
^
^
1.布甲(300)
(護甲值+15)
裝備為向上合成關系 當你買了下層的裝備後買其上層裝備的會自動 價格為上層裝備的價格減下層裝備的價格 曾加的屬性為上層屬性減下層屬性
結束:顯示亡者遺言 顯示戰鬥回合數
裝備可以自動合成,可以挨個測試,挺好玩的,當年這個孩子寫的時候寫了3天多,我用好多年了。希望這個小代碼能創造更多的價值,就算幫小朋友積德行善了。
屬性.java
public class 屬性 {
/************************************************/
public static int x=0; /*判德瑪與皇子攻擊 及 誰購買裝備*/
/******************德瑪人物屬性********************/
private int HP1=2800; //血量
private int ATK1=60; //攻擊力
private int JQ1=5300; //金币
private int MP1=160; //魔法值
private int MAXHP1=2800; //MAX血量
private int HJ1=50; //護甲
private int 初始HJ1=50; //初始護甲
private int XX1=0; //吸血
private int BJ1=0; //暴擊
/******************皇子屬性********************/
private int HP2=2500; //血量
private int ATK2=70; //攻擊力
private int MP2=160; //魔法值"
private int JQ2=5300; //金币
private int MAXHP2=2500; //MAX血量
private int HJ2=50; //護甲
private int 初始HJ2=50; //初始護甲
private int XX2=0; //吸血
private int BJ2=0; //暴擊
/*****************賬号密碼資訊*****************/
private String 賬号="1";
private String 密碼="1";
/*****************武器屬性**********************/
public int hp中; /*血量值中間量*/
public int atk中; /*攻擊力中間量*/
public int hj中; /*護甲中間量*/
public int jq中; /*金币中間量*/
public int bj中; /*暴擊中間量*/
public int xx中; /*增加的吸血*/
/*德瑪擁有武器的個數*/
public int 飲血1=0; /*擁有飲血劍的個數*/
public int 長劍1=0; /*擁有長劍的個數*/
public int 權杖1=0; /*擁有吸血鬼權杖的個數*/
public int 暴風1=0; /*擁有暴風之劍的個數*/
public int 十字鎬1=0; /*擁有十字鎬的個數*/
public int 無盡1=0; /*擁有無盡之刃的個數*/
public int 披風1=0; /*擁有靈巧披風的個數*/
public int 布甲1=0; /*擁有十字鎬的個數*/
public int 鎖子甲1=0; /*擁有無盡之刃的個數*/
public int 反甲1=0; /*擁有靈巧披風的個數*/
/*皇子擁有武器的個數*/
public int 飲血2=0; /*擁有飲血劍的個數*/
public int 長劍2=0; /*擁有長劍的個數*/
public int 權杖2=0; /*擁有吸血鬼權杖的個數*/
public int 暴風2=0; /*擁有暴風之劍的個數*/
public int 十字鎬2=0; /*擁有十字鎬的個數*/
public int 無盡2=0; /*擁有無盡之刃的個數*/
public int 披風2=0; /*擁有靈巧披風的個數*/
public int 布甲2=0; /*擁有十字鎬的個數*/
public int 鎖子甲2=0; /*擁有無盡之刃的個數*/
public int 反甲2=0; /*擁有靈巧披風的個數*/
public int 長劍=360; /*長劍價格*/
public int 長劍atk=10; /*長劍攻擊力*/
public int 吸血鬼節杖=800; /*吸血鬼節杖價格*/
public int 吸血鬼節杖atk=10; /*吸血鬼節杖攻擊力*/
public int 吸血鬼節杖xx=10; /*吸血鬼節杖吸血系數*/
public int 暴風之劍=1550; /*暴風價格*/
public int 暴風之劍atk=50; /*暴風攻擊力*/
public int 飲血劍=3500; /*飲血劍價格*/
public int 飲血劍atk=80; /*飲血攻擊力*/
public int 飲血劍xx=20; /*飲血劍吸血*/
public int 十字鎬=875; /*十字鎬價格*/
public int 十字鎬atk=25; /*十字鎬攻擊力*/
public int 靈巧披風=730; /*靈巧披風價格*/
public int 靈巧披風bj=15; /*靈巧披風暴擊率*/
public int 無盡之刃=3800; /*無盡之刃價格*/
public int 無盡之刃atk=80; /*無盡之刃攻擊力*/
public int 無盡之刃bj=20; /*無盡之刃暴擊*/
public int 鎖子甲=730; /*十字鎬價格*/
public int 鎖子甲hj=40; /*十字鎬攻擊力*/
public int 布甲=300; /*靈巧披風價格*/
public int 布甲hj=15; /*靈巧披風暴擊率*/
public int 反甲=2300; /*無盡之刃價格*/
public int 反甲hj=100; /*無盡之刃攻擊力*/
/****************德瑪技能屬性*******************/
private int Q1=200; /*q技能傷害*/
private int W1=240; /*w技能傷害*/
private int E1=260; /*e技能傷害*/
private int R1=400; /*r技能傷害*/
private int QM1=30; /*Q技能消耗魔法值*/
private int WM1=35; /*W技能消耗魔法值*/
private int EM1=40; /*E技能消耗魔法值*/
private int RM1=60; /*R技能消耗魔法值*/
/*****************皇子技能屬性******************/
private int Q2=300; /*q技能傷害*/
private int W2=250; /*w技能傷害*/
private int E2=200; /*e技能傷害*/
private int R2=400; /*r技能傷害*/
private int QM2=30; /*Q技能消耗魔法值*/
private int WM2=35; /*W技能消耗魔法值*/
private int EM2=40; /*E技能消耗魔法值*/
private int RM2=60; /*R技能消耗魔法值*/
public int getHP1() {
return HP1;
}
public void setHP1(int d) {
HP1 = d;
}
public int getATK1() {
return ATK1;
}
public void setATK1(int aTK1) {
ATK1 = aTK1;
}
public int getJQ1() {
return JQ1;
}
public void setJQ1(int jQ1) {
JQ1 = jQ1;
}
public int getMP1() {
return MP1;
}
public void setMP1(int mP1) {
MP1 = mP1;
}
public int getMAXHP1() {
return MAXHP1;
}
public void setMAXHP1(int mAXHP1) {
MAXHP1 = mAXHP1;
}
public int getHJ1() {
return HJ1;
}
public void setHJ1(int hJ1) {
HJ1 = hJ1;
}
public int get初始HJ1() {
return 初始HJ1;
}
public void set初始HJ1(int 初始hj1) {
初始HJ1 = 初始hj1;
}
public int getXX1() {
return XX1;
}
public void setXX1(int xX1) {
XX1 = xX1;
}
public int getBJ1() {
return BJ1;
}
public void setBJ1(int bJ1) {
BJ1 = bJ1;
}
public int getHP2() {
return HP2;
}
public void setHP2(int hP2) {
HP2 = hP2;
}
public int getATK2() {
return ATK2;
}
public void setATK2(int aTK2) {
ATK2 = aTK2;
}
public int getMP2() {
return MP2;
}
public void setMP2(int mP2) {
MP2 = mP2;
}
public int getJQ2() {
return JQ2;
}
public void setJQ2(int jQ2) {
JQ2 = jQ2;
}
public int getMAXHP2() {
return MAXHP2;
}
public void setMAXHP2(int mAXHP2) {
MAXHP2 = mAXHP2;
}
public int getHJ2() {
return HJ2;
}
public void setHJ2(int hJ2) {
HJ2 = hJ2;
}
public int get初始HJ2() {
return 初始HJ2;
}
public void set初始HJ2(int 初始hj2) {
初始HJ2 = 初始hj2;
}
public int getXX2() {
return XX2;
}
public void setXX2(int xX2) {
XX2 = xX2;
}
public int getBJ2() {
return BJ2;
}
public void setBJ2(int bJ2) {
BJ2 = bJ2;
}
public String get賬号() {
return 賬号;
}
public void set賬号(String 賬号) {
this.賬号 = 賬号;
}
public String get密碼() {
return 密碼;
}
public void set密碼(String 密碼) {
this.密碼 = 密碼;
}
public int getHp中() {
return hp中;
}
public void setHp中(int hp中) {
this.hp中 = hp中;
}
public int getAtk中() {
return atk中;
}
public void setAtk中(int atk中) {
this.atk中 = atk中;
}
public int getHj中() {
return hj中;
}
public void setHj中(int hj中) {
this.hj中 = hj中;
}
public int getJq中() {
return jq中;
}
public void setJq中(int jq中) {
this.jq中 = jq中;
}
public int getBj中() {
return bj中;
}
public void setBj中(int bj中) {
this.bj中 = bj中;
}
public int getXx中() {
return xx中;
}
public void setXx中(int xx中) {
this.xx中 = xx中;
}
public int get飲血1() {
return 飲血1;
}
public void set飲血1(int 飲血1) {
this.飲血1 = 飲血1;
}
public int get長劍1() {
return 長劍1;
}
public void set長劍1(int 長劍1) {
this.長劍1 = 長劍1;
}
public int get權杖1() {
return 權杖1;
}
public void set權杖1(int 權杖1) {
this.權杖1 = 權杖1;
}
public int get暴風1() {
return 暴風1;
}
public void set暴風1(int 暴風1) {
this.暴風1 = 暴風1;
}
public int get十字鎬1() {
return 十字鎬1;
}
public void set十字鎬1(int 十字鎬1) {
this.十字鎬1 = 十字鎬1;
}
public int get無盡1() {
return 無盡1;
}
public void set無盡1(int 無盡1) {
this.無盡1 = 無盡1;
}
public int get披風1() {
return 披風1;
}
public void set披風1(int 披風1) {
this.披風1 = 披風1;
}
public int get布甲1() {
return 布甲1;
}
public void set布甲1(int 布甲1) {
this.布甲1 = 布甲1;
}
public int get鎖子甲1() {
return 鎖子甲1;
}
public void set鎖子甲1(int 鎖子甲1) {
this.鎖子甲1 = 鎖子甲1;
}
public int get反甲1() {
return 反甲1;
}
public void set反甲1(int 反甲1) {
this.反甲1 = 反甲1;
}
public int get飲血2() {
return 飲血2;
}
public void set飲血2(int 飲血2) {
this.飲血2 = 飲血2;
}
public int get長劍2() {
return 長劍2;
}
public void set長劍2(int 長劍2) {
this.長劍2 = 長劍2;
}
public int get權杖2() {
return 權杖2;
}
public void set權杖2(int 權杖2) {
this.權杖2 = 權杖2;
}
public int get暴風2() {
return 暴風2;
}
public void set暴風2(int 暴風2) {
this.暴風2 = 暴風2;
}
public int get十字鎬2() {
return 十字鎬2;
}
public void set十字鎬2(int 十字鎬2) {
this.十字鎬2 = 十字鎬2;
}
public int get無盡2() {
return 無盡2;
}
public void set無盡2(int 無盡2) {
this.無盡2 = 無盡2;
}
public int get披風2() {
return 披風2;
}
public void set披風2(int 披風2) {
this.披風2 = 披風2;
}
public int get布甲2() {
return 布甲2;
}
public void set布甲2(int 布甲2) {
this.布甲2 = 布甲2;
}
public int get鎖子甲2() {
return 鎖子甲2;
}
public void set鎖子甲2(int 鎖子甲2) {
this.鎖子甲2 = 鎖子甲2;
}
public int get反甲2() {
return 反甲2;
}
public void set反甲2(int 反甲2) {
this.反甲2 = 反甲2;
}
public int get鎖子甲() {
return 鎖子甲;
}
public void set鎖子甲(int 鎖子甲) {
this.鎖子甲 = 鎖子甲;
}
public int get鎖子甲hj() {
return 鎖子甲hj;
}
public void set鎖子甲hj(int 鎖子甲hj) {
this.鎖子甲hj = 鎖子甲hj;
}
public int get布甲() {
return 布甲;
}
public void set布甲(int 布甲) {
this.布甲 = 布甲;
}
public int get布甲hj() {
return 布甲hj;
}
public void set布甲hj(int 布甲hj) {
this.布甲hj = 布甲hj;
}
public int get反甲() {
return 反甲;
}
public void set反甲(int 反甲) {
this.反甲 = 反甲;
}
public int get反甲hj() {
return 反甲hj;
}
public void set反甲hj(int 反甲hj) {
this.反甲hj = 反甲hj;
}
public int get長劍() {
return 長劍;
}
public void set長劍(int 長劍) {
this.長劍 = 長劍;
}
public int get吸血鬼節杖() {
return 吸血鬼節杖;
}
public void set吸血鬼節杖(int 吸血鬼節杖) {
this.吸血鬼節杖 = 吸血鬼節杖;
}
public int get暴風之劍() {
return 暴風之劍;
}
public void set暴風之劍(int 暴風之劍) {
this.暴風之劍 = 暴風之劍;
}
public int get飲血劍() {
return 飲血劍;
}
public void set飲血劍(int 飲血劍) {
this.飲血劍 = 飲血劍;
}
public int get長劍atk() {
return 長劍atk;
}
public void set長劍atk(int 長劍atk) {
this.長劍atk = 長劍atk;
}
public int get吸血鬼節杖atk() {
return 吸血鬼節杖atk;
}
public void set吸血鬼節杖atk(int 吸血鬼節杖atk) {
this.吸血鬼節杖atk = 吸血鬼節杖atk;
}
public int get吸血鬼節杖xx() {
return 吸血鬼節杖xx;
}
public void set吸血鬼節杖xx(int 吸血鬼節杖xx) {
this.吸血鬼節杖xx = 吸血鬼節杖xx;
}
public int get暴風之劍atk() {
return 暴風之劍atk;
}
public void set暴風之劍atk(int 暴風之劍atk) {
this.暴風之劍atk = 暴風之劍atk;
}
public int get飲血劍atk() {
return 飲血劍atk;
}
public void set飲血劍atk(int 飲血劍atk) {
this.飲血劍atk = 飲血劍atk;
}
public int get飲血劍xx() {
return 飲血劍xx;
}
public void set飲血劍xx(int 飲血劍xx) {
this.飲血劍xx = 飲血劍xx;
}
public int get十字鎬() {
return 十字鎬;
}
public void set十字鎬(int 十字鎬) {
this.十字鎬 = 十字鎬;
}
public int get十字鎬atk() {
return 十字鎬atk;
}
public void set十字鎬atk(int 十字鎬atk) {
this.十字鎬atk = 十字鎬atk;
}
public int get靈巧披風() {
return 靈巧披風;
}
public void set靈巧披風(int 靈巧披風) {
this.靈巧披風 = 靈巧披風;
}
public int get靈巧披風bj() {
return 靈巧披風bj;
}
public void set靈巧披風bj(int 靈巧披風bj) {
this.靈巧披風bj = 靈巧披風bj;
}
public int get無盡之刃() {
return 無盡之刃;
}
public void set無盡之刃(int 無盡之刃) {
this.無盡之刃 = 無盡之刃;
}
public int get無盡之刃atk() {
return 無盡之刃atk;
}
public void set無盡之刃atk(int 無盡之刃atk) {
this.無盡之刃atk = 無盡之刃atk;
}
public int get無盡之刃bj() {
return 無盡之刃bj;
}
public void set無盡之刃bj(int 無盡之刃bj) {
this.無盡之刃bj = 無盡之刃bj;
}
public int getQ1() {
return Q1;
}
public void setQ1(int q1) {
Q1 = q1;
}
public int getW1() {
return W1;
}
public void setW1(int w1) {
W1 = w1;
}
public int getE1() {
return E1;
}
public void setE1(int e1) {
E1 = e1;
}
public int getR1() {
return R1;
}
public void setR1(int r1) {
R1 = r1;
}
public int getQM1() {
return QM1;
}
public void setQM1(int qM1) {
QM1 = qM1;
}
public int getWM1() {
return WM1;
}
public void setWM1(int wM1) {
WM1 = wM1;
}
public int getEM1() {
return EM1;
}
public void setEM1(int eM1) {
EM1 = eM1;
}
public int getRM1() {
return RM1;
}
public void setRM1(int rM1) {
RM1 = rM1;
}
public int getQ2() {
return Q2;
}
public void setQ2(int q2) {
Q2 = q2;
}
public int getW2() {
return W2;
}
public void setW2(int w2) {
W2 = w2;
}
public int getE2() {
return E2;
}
public void setE2(int e2) {
E2 = e2;
}
public int getR2() {
return R2;
}
public void setR2(int r2) {
R2 = r2;
}
public int getQM2() {
return QM2;
}
public void setQM2(int qM2) {
QM2 = qM2;
}
public int getWM2() {
return WM2;
}
public void setWM2(int wM2) {
WM2 = wM2;
}
public int getEM2() {
return EM2;
}
public void setEM2(int eM2) {
EM2 = eM2;
}
public int getRM2() {
return RM2;
}
public void setRM2(int rM2) {
RM2 = rM2;
}
}
對戰.java
import java.util.Random;
import java.util.Scanner;
public class 對戰 extends 屬性 {
Scanner sc=new Scanner(System.in);
Random ra=new Random();
int cm=0;
int 陣亡1=0, 陣亡2=0;
int 回合=0;
int 黃w=0; /*皇子w之後下次暴擊*/
/**長劍 權杖 暴風 飲血 十字鎬 披風 無盡 布甲 鎖子甲 反甲******/
int cj=0, qz=0, bf=0, yx=0, szg=0, lqpf=0, wj=0, bj=0, szj=0, fj=0;/*購買裝備個數的中間量*/
public void 德瑪攻擊(){
int mf=1;
System.out.println("*******德瑪攻擊中******");
while(mf==1){
String a=sc.next();
if(a.equals("p")){德瑪購買裝備();}
else if(a.equals("q")&&getMP1()>=getQM1()){ mf=0; cm=1;setMP1(getMP1()-getQM1());setHP2(getHP2()-getQ1()*100/(100+getHJ2()));
System.out.println("德瑪使用緻命打擊對皇子造成了"+getQ1()*100/(100+getHJ2())+"點傷害并沉默對方1回合");}
else if(a.equals("w")&&getMP1()>=getWM1()){ mf=0; setMP1(getMP1()-getWM1());
if(getHP1()<getMAXHP1()-getW1()){setHP1(getHP1()+getW1()); System.out.println("德瑪使用勇氣回複"+getW1()+"點生命值");}
else { System.out.println("德瑪使用勇氣回複"+(getMAXHP1()-getHP1())+"點生命值"); setHP1(getMAXHP1()); }}
else if(a.equals("e")&&getMP1()>=getEM1()){ mf=0; setMP1(getMP1()-getEM1());setHP2(getHP2()-getE1()*100/(100+getHJ2()));
System.out.println("德瑪使用審判對皇子造成了"+getE1()*100/(100+getHJ2())+"點傷害");}
else if(a.equals("r")&&getMP1()>=getRM1()){ mf=0; setMP1(getMP1()-getRM1()); int r真實=(getMAXHP2()-getHP2())/10; setHP2(getHP2()-getR1()*100/(100+getHJ2())-r真實);
System.out.println("德瑪使用德瑪西亞正義對皇子造成了"+getR1()*100/(100+getHJ2())+"+"+"對方已損失生命值10%的真實"+r真實+"點傷害");}
else if(a.equals("a")){ mf=0; int 暴擊1=ra.nextInt(101);
if(暴擊1<=getBJ1()){setHP2(getHP2()-getATK1()*2*100/(100+getHJ2())); if(get無盡1()>0){setHP2(getHP2()-getATK1()*100/(100+getHJ2())/4);}
System.out.println(" *“暴擊”*"); System.out.println("德瑪使用普通攻擊對皇子造成了"+getATK1()*2*100/(100+getHJ2())+"點傷害");}
else {setHP2(getHP2()-getATK1()*100/(100+getHJ2())); setHP1(getHP1()+getATK1()*100/(100+getHJ2())*getXX1()/100);
System.out.println("德瑪使用普通攻擊對皇子造成了"+getATK1()*100/(100+getHJ2())+"點傷害");}
if(getXX1()>0){System.out.println("并偷取"+(getATK1()*100/(100+getHJ2())*getXX1()/100)+"點生命值");}
if(get反甲2()>0){setHP1(getHP1()-(((getHJ2()-get初始HJ2())/4+getATK1()*15/100)*100/(100+getHJ1())));
System.out.println("受到"+(((getHJ2()-get初始HJ2())/4+getATK1()*15/100)*100/(100+getHJ1()))+"點荊棘之甲的反傷");}
}
if(mf==1){ if(a.equals("a")||a.equals("q")||a.equals("w")||a.equals("e")||a.equals("r")) {System.out.println("目前魔法值不足....");}
else if(a.equals("p")){System.out.println("......德瑪進入攻擊狀态.......");} // 退出商店
else {System.err.println("請輸入正确指令....");}}
} /*德瑪攻擊環節*/
setHP1(getHP1()+20); setMP2(getMP2()+10); if(getMP2()>160){setMP2(160);} if(getHP1()>getMAXHP1()){setHP1(getMAXHP1());} //德瑪每回合增加的魔法值與生命值
setJQ1(getJQ1()+100); 回合++;
System.out.println("*********《德瑪》******《皇子》**");
System.out.println("***生命值:"+getHP1() + "\t "+getHP2());
System.out.println("***魔法值: "+getMP1() + "\t "+getMP2());
System.out.println("***攻擊力: "+getATK1()+ "\t "+getATK2());
System.out.println("***護甲值: "+getHJ1()+ "\t "+getHJ2());
System.out.println("*生命吸取: "+getXX1()+"%"+ "\t "+getXX2()+"%");
System.out.println("***暴 擊: "+getBJ1()+"%"+ "\t "+getBJ2()+"%");
System.out.println("***金 币: "+getJQ1() + "\t "+getJQ2());
}
public void 皇子攻擊(){
int mf=1;
System.out.println("********皇子攻擊中*****");
while(mf==1||cm==1){
String a=sc.next();
if(a.equals("p")){皇子購買裝備();}
if(cm!=1){
if(a.equals("a")){ mf=0; if(黃w==1){ 黃w=0; setHP1(getHP1()-getATK2()*100/(100+getHJ1())*3); setHP2(getHP2()+getATK2()*100/(100+getHJ1())*3*getXX2()/100);
System.out.println("皇子使用普通攻擊*暴擊*對德瑪造成了"+getATK2()*100/(100+getHJ1())*3+"點傷害");
if(getXX2()>0){System.out.println("并偷取"+(getATK2()*100/(100+getHJ1())*3*getXX2()/100)+"點生命值");}
if(get反甲1()>0){setHP2(getHP2()-(((getHJ1()-get初始HJ1())/4+getATK2()*3*15/100)*100/(100+getHJ2())));
System.out.println("受到"+(((getHJ1()-get初始HJ1())/4+getATK2()*15/100)*100/(100+getHJ2()))+"點荊棘之甲的反傷");}}
else { int 暴擊2=ra.nextInt(101); if(暴擊2<=getBJ2()){setHP1(getHP1()-getATK2()*2*100/(100+getHJ1())); setHP2(getHP2()+getATK2()*2*100/(100+getHJ1())*getXX2()/100);
System.out.println(" *“暴擊”*"); System.out.println("皇子使用普通攻擊對德瑪造成了"+getATK2()*2*100/(100+getHJ1())+"點傷害");}
else {setHP1(getHP1()-getATK2()*100/(100+getHJ1())); setHP2(getHP2()+getATK2()*100/(100+getHJ1())*getXX2()/100);
System.out.println("皇子使用普通攻擊對德瑪造成了"+getATK2()*100/(100+getHJ1())+"點傷害");}
if(getXX2()>0){System.out.println("并偷取"+(getATK2()*100/(100+getHJ1())*2*getXX2()/100)+"點生命值");}
if(get反甲1()>0){setHP2(getHP2()-(((getHJ1()-get初始HJ1())/4+getATK2()*15/100)*100/(100+getHJ2())));
System.out.println("受到"+(((getHJ1()-get初始HJ1())/4+getATK2()*15/100)*100/(100+getHJ2()))+"點荊棘之甲的反傷");}}}
if(a.equals("q")&&getMP2()>=getQM2()){ mf=0; 黃w=0;setMP2(getMP2()-getQM2()); setHP1(getHP1()-getQ2()*100/(100+getHJ1()));
System.out.println("皇子使用巨龍撞擊對德瑪造成了"+getQ2()*100/(100+getHJ1())+"點傷害....");}
else if(a.equals("w")&&getMP2()>=getWM2()){ mf=0; setMP2(getMP2()-getWM2()); 黃w=1;
if(getHP2()<getMAXHP2()-getW2()) {setHP2(getHP2()+getW2()); System.out.println("皇子使用黃金聖盾回複"+getW2()+"點生命值");}
else {System.out.println("皇子使用黃金聖盾生命值回複"+(getMAXHP2()-getHP2())); setHP2(getMAXHP2());}}
else if(a.equals("e")&&getMP2()>=getEM2()){ mf=0;黃w=0; setMP2(getMP2()-getEM2());setHP1(getHP1()-getE2()*100/(100+getHJ1()));
System.out.println("皇子使用德邦軍旗對德瑪造成了"+getE2()*100/(100+getHJ1())+"點傷害");}
else if(a.equals("r")&&getMP2()>=getRM2()){ mf=0; 黃w=0;setMP2(getMP2()-getRM2());setHP1(getHP1()-getR2()*100/(100+getHJ1()));
System.out.println("皇子使用山崩地裂對德瑪造成了"+getR2()*100/(100+getHJ2())+"點傷害");}
}
else {if(a.equals("a")){mf=0; cm=0; 黃w=0;int 暴擊2=ra.nextInt(101);
if(暴擊2<=getBJ2()){setHP1(getHP1()-getATK2()*2*100/(100+getHJ1())); setHP2(getHP2()+getATK2()*2*100/(100+getHJ1())*getXX2()/100);
System.out.println(" *“暴擊”*"); System.out.println("皇子使用普通攻擊對德瑪造成了"+getATK2()*2*100/(100+getHJ1())+"點傷害");}
else {setHP1(getHP1()-getATK2()*100/(100+getHJ1())); setHP2(getHP2()+getATK2()*100/(100+getHJ1())*getXX2()/100);
System.out.println("皇子使用普通攻擊對德瑪造成了"+getATK2()*100/(100+getHJ1())+"點傷害"); }
if(getXX2()>0){System.out.println("并偷取"+(getATK2()*100/(100+getHJ1())*getXX2()/100)+"點生命值");}
if(get反甲1()>0){setHP2(getHP2()-(((getHJ1()-get初始HJ1())/4+getATK2()*15/100)*100/(100+getHJ2())));
System.out.println("受到"+(((getHJ1()-get初始HJ1())/4+getATK2()*15/100)*100/(100+getHJ2()))+"點荊棘之甲的反傷");}}
else if(a.equals("q")||a.equals("w")||a.equals("e")||a.equals("r")){mf=0; System.out.print("你已經被");System.err.print("沉默");System.out.println("不能使用技能");
System.out.println("請使用普通攻擊...");}
else {System.err.println("請輸入有效指令....");}
}
if(mf==1){ if( a.equals("q")||a.equals("w")||a.equals("e")||a.equals("r")) {System.out.println("目前魔法值不足....");}
else if(a.equals("p")){System.out.println("...... 皇子進入攻擊狀态.......");} // 退出商店
else {System.err.println("請輸入正确指令....");}}
} /*皇子攻擊過程*/
setHP2(getHP2()+10); setMP1(getMP1()+10); if(getMP1()>160){setMP1(160);} if(getHP2()>getMAXHP2()){setHP2(getMAXHP2());} //德瑪每回合增加的魔法值與生命值
setJQ2(getJQ2()+100);
System.out.println("*********《德瑪》******《皇子》**");
System.out.println("***生命值:"+getHP1() + "\t "+getHP2());
System.out.println("***魔法值: "+getMP1() + "\t "+getMP2());
System.out.println("***攻擊力: "+getATK1()+ "\t "+getATK2());
System.out.println("***護甲值: "+getHJ1()+ "\t "+getHJ2());
System.out.println("*生命吸取: "+getXX1()+"%"+ "\t "+getXX2()+"%");
System.out.println("***暴 擊: "+getBJ1()+"%"+ "\t "+getBJ2()+"%");
System.out.println("***金 币: "+getJQ1() + "\t "+getJQ2());
}
public void 登陸(){
while(true){
System.out.println("《歡迎來到德瑪西亞》");
System.out.println(" 1 登陸 2注冊");
char a=sc.next().charAt(0);
if(a=='1'){
System.out.println("*@歡迎登陸@*");
System.out.println("請輸入登陸賬号:");
String zh=sc.next();
System.out.println("請輸入登陸密碼:");
String mm=sc.next();
if(zh.equals(get賬号())&&mm.equals(get密碼())){
System.out.println("登陸成功");break;
}else {System.out.println("比對失敗");}
}else if(a=='2'){
注冊();
}else {System.out.println(" 登陸?or注冊?");}
}
}
public void 注冊(){
while(true){
System.out.println("《歡迎新增賬號》");
System.out.println("請輸入新增賬號:");
while(true){
String zz=sc.next();
char z=zz.charAt(0);
if(z>='a'&&z<='z'||z>='A'&&z<='Z'){
set賬号(zz); break;
}else {System.err.println("賬号請以字母開頭,請重新輸入:");}
}
System.out.println("請設定賬号密碼:");
set密碼(sc.next());
System.out.println("注冊成功");break;
}
}
public boolean 德瑪是否陣亡(){
if(getHP1()<=0){ System.out.println("經過"+回合+"回合(天)的激烈戰鬥最終德瑪西亞之力不敵皇子");
System.out.println("德瑪死前長呼:丈夫生世,當帶三尺之劍,以升天子之階。今所志未從,奈何而死乎!");
System.out.println("遂死于皇子的長矛之下");
return true;}
else { return false;}
}
public boolean 皇子是否陣亡(){
if(getHP2()<=0){System.out.println("經過"+回合+"回合(天)的激烈戰鬥最終嘉文四世不敵德瑪西亞之力");
System.out.println("皇子禁不住慷慨悲歌:力拔山兮,氣蓋世,時不利兮,骓不逝。骓不逝兮,可奈何?虞兮虞兮,奈若何?");
System.out.println("”此天之亡我,非戰之罪也“身受重傷的皇子不堪被俘在烏江自刎而亡");
return true;}
else { return false;}
}
public void 商店(){
System.out.println(" ************* ");
System.out.println(" ***歡迎來到商店*** ");
System.out.println(" ************* ");
System.out.println(" 剩餘金币:"+getJq中());
Scanner sc=new Scanner(System.in);
while(true){ System.out.println("請選擇裝備類型: 1 攻擊類 2 防禦類 p 傳回攻擊狀态 ");
char zb=sc.next().charAt(0);
if(zb=='p'){break;}
if(zb=='1'){System.out.println("*******************攻擊類裝備*****************");
System.out.println();
System.out.println("《無盡之刃》");
System.out.println("唯一被動:暴擊傷害為200%。");
無盡之刃();
System.out.println();
System.out.println("《飲血劍》");
System.out.println("唯一被動:+20%生命偷取");
飲血劍();購攻擊裝備流程();}
if(zb=='2'){System.out.println("***************防禦類裝備*****************");
System.out.println(" 《荊棘之甲》");
System.out.println("唯一被動:被普通攻擊命中時,會将你額外護甲值的25%");
System.out.println("加上15%的即将到來的傷害以實體傷害的形式回敬給攻擊者。");
荊棘之甲(); 購買防禦類裝備();
}
}
} //進入商店購買裝備過程
public void 德瑪購買裝備(){
cj=get長劍1();qz=get權杖1();bf=get暴風1();yx=get飲血1();wj=get無盡1(); bj=get布甲1();szj=get鎖子甲1();fj=get反甲1();
setAtk中(getATK1());
setXx中(getXX1());
setJq中(getJQ1());
setBj中(getBJ1());
setHj中(getHJ1());
商店();
set長劍1(cj); set權杖1(qz);set暴風1(bf);set飲血1(yx);set無盡1(wj);set布甲1(bj);set鎖子甲1(szj);set反甲1(fj);
setATK1(getAtk中());
setXX1(getXx中());
setJQ1(getJq中());
setBJ1(getBj中());
setHJ1(getHj中());
System.out.println("*********《德瑪》******《皇子》**");
System.out.println("***生命值:"+getHP1() + "\t "+getHP2());
System.out.println("***魔法值: "+getMP1() + "\t "+getMP2());
System.out.println("***攻擊力: "+getATK1()+ "\t "+getATK2());
System.out.println("***護甲值: "+getHJ1()+ "\t "+getHJ2());
System.out.println("*生命吸取: "+getXX1()+"%"+ "\t "+getXX2()+"%");
System.out.println("***暴 擊: "+getBJ1()+"%"+ "\t "+getBJ2()+"%");
System.out.println("***金 币: "+getJQ1() + "\t "+getJQ2());
}
public void 皇子購買裝備(){
cj=get長劍2();qz=get權杖2();bf=get暴風2();yx=get飲血2();wj=get無盡2(); bj=get布甲2();szj=get鎖子甲2();fj=get反甲2();
setAtk中(getATK2());
setXx中(getXX2());
setJq中(getJQ2());
setBj中(getBJ2());
setHj中(getHJ2());
商店();
set長劍2(cj); set權杖2(qz);set暴風2(bf);set飲血2(yx);set無盡2(wj);set布甲2(bj);set鎖子甲2(szj);set反甲2(fj);
setATK2(getAtk中());
setXX2(getXx中());
setJQ2(getJq中());
setBJ2(getBj中());
setHJ2(getHj中());
System.out.println("*********《德瑪》******《皇子》**");
System.out.println("***生命值:"+getHP1() + "\t "+getHP2());
System.out.println("***魔法值: "+getMP1() + "\t "+getMP2());
System.out.println("***攻擊力: "+getATK1()+ "\t "+getATK2());
System.out.println("***護甲值: "+getHJ1()+ "\t "+getHJ2());
System.out.println("*生命吸取: "+getXX1()+"%"+ "\t "+getXX2()+"%");
System.out.println("***暴 擊: "+getBJ1()+"%"+ "\t "+getBJ2()+"%");
System.out.println("***金 币: "+getJQ1() + "\t "+getJQ2());
}
public void 購攻擊裝備流程(){
char gj=sc.next().charAt(0);
if(gj=='1'&&getJq中()>=get長劍()){ setAtk中(getAtk中()+get長劍atk()); setJq中(getJq中()-get長劍()); cj++;
System.out.println("您用"+get長劍()+"金币購買了一把長劍 金币剩餘"+getJq中());
System.out.println("攻擊力加:"+get長劍atk());}
else if(gj=='2'&&(getJq中()>=get吸血鬼節杖()||cj>0&&getJq中()>=(get吸血鬼節杖()-get長劍()))){ qz++; setXx中(getXx中()+get吸血鬼節杖xx());
if(cj>0){ cj--; setJq中(getJq中()-get吸血鬼節杖()+get長劍());System.out.println("您用"+(get吸血鬼節杖()-get長劍())+"金币購買了吸血鬼權杖吸血加"+get吸血鬼節杖xx()+"%" );}
else{ setAtk中(getAtk中()+get吸血鬼節杖atk()); setJq中(getJq中()-get吸血鬼節杖());
System.out.print("您用"+get吸血鬼節杖()+"金币購買了吸血鬼權杖 ");
System.out.println("攻擊力加:"+get吸血鬼節杖atk() + "吸血加"+get吸血鬼節杖xx()+"%" ); }
System.out.println("金币剩餘:"+getJq中() ); }
else if(gj=='3'&&getJq中()>=get暴風之劍()){bf++; setAtk中(getAtk中()+get暴風之劍atk()); setJq中(getJq中()-get暴風之劍());
System.out.println("您用"+get暴風之劍()+"金币購買了暴風之劍 金币剩餘"+getJq中());
System.out.println("攻擊力加:"+get暴風之劍atk());}
else if(gj=='4'&&(getJq中()>=get飲血劍()||bf>0&&getJq中()>=(get飲血劍()-get暴風之劍())||qz>0&&getJq中()>=(get飲血劍()-get吸血鬼節杖())||cj>0&&getJq中()>=(get飲血劍()-get長劍())
||bf>0&&qz>0&&getJq中()>=(get飲血劍()-get暴風之劍()-get吸血鬼節杖())||bf>0&&cj>0&&getJq中()>=(get飲血劍()-get暴風之劍()-get長劍())))
{ if(bf>0&&qz>0){ bf--;qz--;setAtk中(getAtk中()+get飲血劍atk()-get暴風之劍atk()-get吸血鬼節杖atk()); setXx中(getXx中()+get飲血劍xx()-get吸血鬼節杖xx());
setJq中(getJq中()-get飲血劍()+get暴風之劍()+get吸血鬼節杖());}
else if(bf>0&&cj>0){bf--;cj--;setAtk中(getAtk中()+get飲血劍atk()-get暴風之劍atk()-get長劍()); setXx中(getXx中()+get飲血劍xx());
setJq中(getJq中()-get飲血劍()+get暴風之劍()+get長劍());}
else if(bf>0){bf--;setAtk中(getAtk中()+get飲血劍atk()-get暴風之劍atk()); setXx中(getXx中()+get飲血劍xx()); setJq中(getJq中()-get飲血劍()+get暴風之劍());}
else if(qz>0){qz--;setAtk中(getAtk中()+get飲血劍atk()-get吸血鬼節杖atk()); setXx中(getXx中()+get飲血劍xx()-get吸血鬼節杖xx()); setJq中(getJq中()-get飲血劍()+get吸血鬼節杖());}
else if(cj>0){cj--;setAtk中(getAtk中()+get飲血劍atk()-get長劍atk()); setXx中(getXx中()+get飲血劍xx()); setJq中(getJq中()-get飲血劍()+get長劍());}
else{setAtk中(getAtk中()+get飲血劍atk()); setXx中(getXx中()+get飲血劍xx()); setJq中(getJq中()-get飲血劍());} yx++;
System.out.println("您購買了飲血劍 金币剩餘"+getJq中());
System.out.println("攻擊力加:"+get飲血劍atk());}
else if(gj=='5'&&getJq中()>=get十字鎬()){ szg++; setAtk中(getAtk中()+get十字鎬atk()); setJq中(getJq中()-get十字鎬());
System.out.println("您用"+get十字鎬()+"金币購買力十字鎬 金币剩餘"+getJq中());System.out.println("攻擊力加:"+get十字鎬atk());}
else if(gj=='6'&&getJq中()>=get靈巧披風()){lqpf++; setBj中(getBj中()+get靈巧披風bj()); setJq中(getJq中()-get靈巧披風());
System.out.println("您用"+get靈巧披風()+"金币購買力靈巧披風 金币剩餘"+getJq中());System.out.println("暴擊率加:"+get靈巧披風bj());}
else if(gj=='7'&&(getJq中()>=get無盡之刃()||bf>0&&szg>0&&getJq中()>=(get無盡之刃()-get暴風之劍()-get十字鎬())||bf>0&&lqpf>0&&getJq中()>=(get無盡之刃()-get暴風之劍()-get靈巧披風())
||szg>0&&lqpf>0&&getJq中()>=(get無盡之刃()-get十字鎬()-get靈巧披風())||bf>0&&szg>0&&lqpf>0&&getJq中()>=(get無盡之刃()-get暴風之劍()-get十字鎬()-get靈巧披風())
||szg>0&&getJq中()>=(get無盡之刃()-get十字鎬())||bf>0&&getJq中()>=(get無盡之刃()-get暴風之劍())||lqpf>0&&getJq中()>=(get無盡之刃()-get靈巧披風())))
{if(bf>0&&szg>0&&lqpf>0){ bf--;szg--;lqpf--; setAtk中(getAtk中()-get暴風之劍atk()-get十字鎬atk()); setBj中(get無盡之刃bj()-get靈巧披風bj());
setJq中(getJq中()-get無盡之刃()+get靈巧披風()+get暴風之劍()+get十字鎬());}
else if(bf>0&&szg>0) {bf--;szg--; setAtk中(getAtk中()+get無盡之刃atk()-get暴風之劍atk()-get十字鎬atk());setBj中(get無盡之刃bj()); setJq中(getJq中()-get無盡之刃()+get暴風之劍()+get十字鎬());}
else if(bf>0&&lqpf>0){bf--;lqpf--;setAtk中(getAtk中()+get無盡之刃atk()-get暴風之劍atk()); setBj中(get無盡之刃bj()-get靈巧披風bj()); setJq中(getJq中()-get無盡之刃()+get靈巧披風()+get暴風之劍());}
else if(szg>0&&lqpf>0){szg--;lqpf--;setAtk中(getAtk中()+get無盡之刃atk()-get十字鎬atk()); setBj中(get無盡之刃bj()-get靈巧披風bj()); setJq中(getJq中()-get無盡之刃()+get靈巧披風()+get十字鎬());}
else if(bf>0) {bf--; setAtk中(getAtk中()+get無盡之刃atk()-get暴風之劍atk()); setBj中(get無盡之刃bj()); setJq中(getJq中()-get無盡之刃()+get暴風之劍());}
else if(szg>0){szg--; setAtk中(getAtk中()+get無盡之刃atk()-get十字鎬atk()); setBj中(get無盡之刃bj()); setJq中(getJq中()-get無盡之刃()+get十字鎬());}
else if(lqpf>0){lqpf--; setAtk中(getAtk中()+get無盡之刃atk()); setBj中(get無盡之刃bj()-get靈巧披風bj()); setJq中(getJq中()-get無盡之刃()+get靈巧披風());}
else { setAtk中(getAtk中()+get無盡之刃atk()); setBj中(get無盡之刃bj()); setJq中(getJq中()-get無盡之刃());} wj++;
System.out.println("您購買了無盡之刃 金币剩餘"+getJq中());
System.out.println("攻擊力加:"+get無盡之刃atk());
}
else if(gj=='1'||gj=='2'||gj=='3'||gj=='4'||gj=='5'||gj=='6'||gj=='7'){System.out.println("您的餘額不足請及時充值...");}
// else {System.err.println("不買裝備請q鍵離開");}
}
public void 購買防禦類裝備(){
char gj=sc.next().charAt(0);
if(gj=='1'&&getJq中()>=get布甲()){ bj++; setHj中(getHj中()+get布甲hj()); setJq中(getJq中()-get長劍());
System.out.println("您用"+get布甲()+"金币購買了一件布甲 金币剩餘"+getJq中());
System.out.println("護甲值加:"+get布甲hj());}
else if(gj=='2'&&(getJq中()>=get鎖子甲()||bj>0&&getJq中()>=(get鎖子甲()-get布甲()))){ szj++;
if(bj>0){ bj--; setHj中(getHj中()+get鎖子甲hj()-get布甲hj());setJq中(getJq中()-get鎖子甲()+get布甲());
System.out.println("您用"+(get鎖子甲()-get布甲())+"金币購買了鎖子甲 護甲值加:"+(get鎖子甲hj()-get布甲hj()));}
else{ setHj中(getHj中()+get鎖子甲hj()); setJq中(getJq中()-get鎖子甲());
System.out.print("您用"+get鎖子甲()+"金币購買了鎖子甲 護甲值加:"+get鎖子甲hj());}
System.out.println("金币剩餘:"+getJq中()); }
else if(gj=='3'&&(getJq中()>=get反甲()||szj>0&&bj>0&&getJq中()>=(get反甲()-get鎖子甲()-get布甲())||szj>0&&getJq中()>=(get反甲()-get鎖子甲())
||bj>1&&getJq中()>=(get反甲()-get布甲()*2)||bj>0&&getJq中()>=(get反甲()-get布甲())))
{fj++; if(szj>0&&bj>0){szj--;bj--; setHj中(getHj中()+get反甲hj()-get鎖子甲hj()-get布甲hj()); setJq中(getJq中()-get反甲()+get鎖子甲()+get布甲());}
else if(szj>0){szj--;setHj中(getHj中()+get反甲hj()-get鎖子甲hj()); setJq中(getJq中()-get反甲()+get鎖子甲());}
else if(bj>1) {bj--;bj--;setHj中(getHj中()+get反甲hj()-get布甲hj()*2); setJq中(getJq中()-get反甲()+get布甲()*2);}
else if(bj>0) {bj--;setHj中(getHj中()+get反甲hj()-get布甲hj()); setJq中(getJq中()-get反甲()+get布甲());}
else {setHj中(getHj中()+get反甲hj()); setJq中(getJq中()-get反甲());}
System.out.println("您用"+get反甲()+"金币購買了荊棘之甲 金币剩餘"+getJq中());
System.out.println("護甲加:"+get反甲hj());}
else if(gj=='1'||gj=='2'||gj=='3'){System.out.println("您的餘額不足請及時充值...");}
// else {System.err.println("不買裝備請q鍵離開");}
}
public void 飲血劍(){
System.out.println();
if(bf>0&&qz>0){System.out.println(" 4.飲血劍("+(get飲血劍()-get吸血鬼節杖()-get暴風之劍())+") ");}
else if(bf>0&&cj>0){System.out.println(" 4.飲血劍("+(get飲血劍()-get長劍()-get暴風之劍())+") ");}
else if(qz>0) {System.out.println(" 4.飲血劍("+(get飲血劍()-get吸血鬼節杖())+") ");}
else if(cj>0) {System.out.println(" 4.飲血劍("+(get飲血劍()-get長劍())+") ");}
else if(bf>0) {System.out.println(" 4.飲血劍("+(get飲血劍()-get暴風之劍())+") ");}
else {System.out.println(" 4.飲血劍("+get飲血劍()+")");}
System.out.println(" (攻擊力+"+get飲血劍atk()+")");
System.out.println(" (吸血+"+get飲血劍xx()+"%)");
System.out.println(" ^ ^ ");
System.out.println(" ^ ^ ");
System.out.println(" ^ ^ ");
System.out.print (" 2.吸血鬼權杖("); if(cj>0){System.out.print(get吸血鬼節杖()-get長劍());}else{System.out.print(get吸血鬼節杖()+")");}
System.out.println(" 3.暴風大劍("+get暴風之劍()+")");
System.out.println(" (攻擊力+"+get吸血鬼節杖atk()+")"+" 攻擊力+("+get暴風之劍atk()+")");
System.out.println(" (吸血+"+get吸血鬼節杖xx()+"%)");
System.out.println(" ^ ");
System.out.println(" ^ ");
System.out.println(" ^ ");
System.out.println(" 1.長劍("+get長劍()+")");
System.out.println(" (攻擊力+"+get長劍atk()+")");
System.out.println("請輸入武器前的序号來選擇你所購買的裝備:");
System.out.println("其餘任意鍵傳回主菜單");
}
public void 無盡之刃(){
System.out.println();
if(bf>0){ if(szg>0){if(lqpf>0){System.out.println(" 7.無盡之刃("+(get無盡之刃()-get暴風之劍()-get十字鎬()-get靈巧披風())+") ");}
else { {System.out.println(" 7.無盡之刃("+(get無盡之刃()-get暴風之劍()-get十字鎬())+") ");}}
}else {if(lqpf>0){System.out.println(" 7.無盡之刃("+(get無盡之刃()-get暴風之劍()-get靈巧披風())+") ");}
else {System.out.println(" 7.無盡之刃("+(get無盡之刃()-get暴風之劍())+") ");} }
}else if(szg>0){if(lqpf>0){System.out.println(" 4.無盡之刃("+(get無盡之刃()-get十字鎬()-get靈巧披風())+") ");}
else {System.out.println(" 7.無盡之刃("+(get無盡之刃()-get十字鎬())+") ");}
}else if(lqpf>0){System.out.println(" 7.無盡之刃("+(get無盡之刃()-get靈巧披風())+") ");
}else {System.out.println(" 7.無盡之刃("+get無盡之刃()+") ");}
System.out.println(" (攻擊力+"+get無盡之刃atk()+")");
System.out.println(" (暴擊+"+get無盡之刃bj()+"%)");
System.out.println(" ^ ^ ^ ");
System.out.println(" ^ ^ ^ ");
System.out.println(" ^ ^ ^ ");
System.out.println(" ^ ^ ^ ");
System.out.println(" ^ ^ ^ ");
System.out.println(" ^ ^ ^ ");
System.out.println(" 3.暴風之劍("+get暴風之劍()+")"+" 5.十字鎬("+get十字鎬()+")"+" 6.靈巧披風("+get靈巧披風()+")");
System.out.println(" (攻擊力+"+get暴風之劍atk()+")"+" (攻擊力+"+get十字鎬atk()+")"+" (暴擊率+"+get靈巧披風bj()+"%)");
}
public void 荊棘之甲(){
System.out.println();
if(bj>0&&szj>0){System.out.println(" 3.荊棘之甲("+(get反甲()-get鎖子甲()-get布甲())+") ");}
else if(bj>1) {System.out.println(" 3.荊棘之甲("+(get反甲()-get布甲()*2)+") ");}
else if(szj>0){System.out.println(" 3.荊棘之甲("+(get反甲()-get鎖子甲())+") ");}
else if(bj>0) {System.out.println(" 3.荊棘之甲("+(get反甲()-get布甲())+") ");;}
else {System.out.println(" 3.荊棘之甲("+get反甲()+") ");;}
System.out.println(" (護甲值+"+get反甲hj()+")");
System.out.println(" (被動見上文)");
System.out.println(" ^ ^ ");
System.out.println(" ^ ^ ");
System.out.println(" ^ ^ ");
System.out.print (" 2.鎖子甲("); if(bj>0){System.out.print(get鎖子甲()-get布甲());}else{System.out.print(get鎖子甲()+")");}
System.out.println(" 1.布甲("+get布甲()+")");
System.out.println(" (護甲值+"+get鎖子甲hj()+")"+" (護甲值+"+get布甲hj()+")");
System.out.println(" ^ ");
System.out.println(" ^ ");
System.out.println(" ^ ");
System.out.println(" 1.布甲("+get布甲()+")");
System.out.println(" (護甲值+"+get布甲hj()+")");
System.out.println("請輸入武器前的序号來選擇你所購買的裝備:");
System.out.println("其餘任意鍵傳回主菜單");
}
}
PK.java
import java.util.Scanner;
public class PK {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int x=0; /*選擇英雄*/
對戰 pk=new 對戰();
pk.登陸();
System.out.println("*****德瑪西亞之力PK德瑪西亞皇子*****");
System.out.println("**德瑪: 生命值2800血 魔法值:160 攻擊力60**");
System.out.println("**皇子: 生命值2500血 魔法值:160 攻擊力70**");
System.out.println("德瑪初始 金币: 2300 皇子剩餘金币: 2300");
System.out.println("*****遊戲說明*****");
System.out.println("*****遊戲說明*****");
System.out.println("請選擇人物: 1 德瑪 2 皇子");
System.out.println("規則:先選人物後攻擊");
do{ char xz=sc.next().charAt(0);
if(xz=='1'){System.out.println(">>>>>人在塔在<<<<<<");x=2;}
else if(xz=='2'){System.out.println(">>>>>德瑪西亞永世長存<<<<< ");x=1;}
else {System.out.println("請用人類的思維選擇英雄......");
System.out.println("選擇德瑪請按 1 選擇皇子請按 2");
System.out.println(" Enter鍵确定......");}
}while(x!=1&&x!=2);
while(pk.getHP1()>0&&pk.getHP2()>0){
switch(x){
case 1: pk.德瑪攻擊(); if(pk.皇子是否陣亡()){break;}
case 2: pk.皇子攻擊(); if(pk.德瑪是否陣亡()){break;} x=1;
}
}
}
}
編譯
這裡我是在Linux中搭建的java運作環境,可以在win中使用,都是一樣的。我講編碼格式改成了【UTF-8】的了,通用的。
javac PK.java
總結:
整個遊戲編碼是在剛剛學完javaOOP的時候寫的,對于面向對象的了解還不是非常的充分,其實很多地方都是可以優化的,那麼這個問題就交給大家了,可以優化的更加簡短合适。
JAVA_OOP:
封裝:
1. 将不需要對外提供的内容都隐藏起來;
2. 把屬性都隐藏,提供公共方法對其通路。
繼承:
使用繼承時,相當于建立了一個新類。這個新類不僅包含了現有類型的所有成員(盡管private 成員被隐藏起來,且不能通路),但更重要的是,它複制了基礎類的接口。也就是說,可向基礎類的對象發送的所有消息亦可原樣發給衍生類的對象。根據可以發送的消息,我們能知道類的類型。這意味着衍生類具有與基礎類相同的類型!為真正了解面向對象程式設計的含義,首先必須認識到這種類型的等價關系。
多态:
多态是同一個行為具有多個不同表現形式或形态的能力,多态就是同一個接口,使用不同的執行個體而執行不同操作,多态性是對象多種表現形式的展現。
- 1. 消除類型之間的耦合關系
- 2. 可替換性
- 3. 可擴充性
- 4. 接口性
- 5. 靈活性
- 6. 簡化性
- 繼承
- 重寫
- 父類引用指向子類對象