public class Game {//游戏角色类 private int Blood =500;//血量 private int gjil
=40;//攻击力 private int fangyu=5 ;//防御力 private int rate=20;//暴击率 public Game(int
Blood,int gjil ,int fangyu ,int rate ){//构造方法重载 this.Blood=Blood;
this.gjil=gjil; this.fangyu=fangyu; this.rate = rate; } public Game(){
}//默认的构造方法 public int getBlood() { return Blood; } public void setBlood(int
blood) { Blood = blood; } public int getGjil() { return gjil; } public int
getFangyu() { return fangyu; } public int getRate() { return rate; } public
void setRate(int rate) { this.rate = rate; } public void Q(){//q技能
System.out.println("我是Q技能"); } public void W(){//W技能
System.out.println("我是W技能"); } public void E(){//E技能
System.out.println("我是E技能"); } public void R(){//R技能
System.out.println("我是R技能"); } public void pt(){//普通攻击
System.out.println("我是普通攻击"); } } public class Gesila extends Game{//哥斯拉 Game
game1 = new Game(800,30,5,20);//哥斯拉 @Override public void Q() {
System.out.println("哥斯拉释放Q技能噬魂痛击"); } @Override public void W() {
System.out.println("哥斯拉释放W技能枯萎"); } @Override public void E() {
System.out.println("哥斯拉释放E技能灵魂燃烧"); } @Override public void R() {
System.out.println("哥斯拉"); } @Override public void pt() {
System.out.println("哥斯拉释放普通攻击"); } }
public class Jinggang extends Game{//金刚类继承游戏类 Game game = new
Game(500,50,17,20);//金刚 @Override public void Q() {
System.out.println("金刚释放Q技能大杀四方"); } @Override public void W() {
System.out.println("金刚释放W技能致残打击"); } @Override public void E() {
System.out.println("金刚释放E技能无情铁手"); } @Override public void R() {
System.out.println("金刚释放R技能洛克萨斯断头台"); } @Override public void pt() {
System.out.println("金刚释放普通攻击"); } }
public class Play {//d对战类 Jinggang jinggang = new Jinggang();//实列化一个金刚 Gesila
gesila= new Gesila();//实列化一个哥斯拉 public void show(){ int number
;//哥斯拉造成的伤害值攻击力减防御力 int number1;//金刚造成的伤害值攻击力减防御力 boolean fina = true; int aaa
= 1;//回合次数 System.out.println("************游戏开始****************");
System.out.println("金刚血量为"+jinggang.getBlood()+"\t攻击力为"+jinggang.getGjil()+"\t防御力为"+jinggang.getFangyu()+"\t暴击率为"+jinggang.getRate()+"
");
System.out.println("哥斯拉血量为"+gesila.getBlood()+"\t攻击力为"+gesila.getGjil()+"\t防御力为"+gesila.getFangyu()+"\t暴击率为"+gesila.getRate()+"
"); while (fina){
System.out.println("************第"+(aaa++)+"回合****************"); Random random
= new Random(); int num =random.nextInt(5)+1;//随机生成1-5 if(num==1){
jinggang.Q();//如果随机数是1就使用Q技能 }else if(num==2){ jinggang.W(); } else if(num==3){
jinggang.E(); } else if(num==4){ jinggang.R(); } else if(num==5){
jinggang.pt(); } number1 =gesila.getGjil()-gesila.getFangyu(); //造成的伤害值攻击力减防御力
if(number1==5)//如果随机数等于5就暴击 20%的暴击率 {
number=(gesila.getGjil()-gesila.getFangyu())*2;//暴击哥斯拉的攻击力减防御力乘以2 } int
xueliang2 =jinggang.getBlood()-number1;
jinggang.setBlood(jinggang.getBlood()-number1);
System.out.println("造成"+number1+"点伤害,当前还剩下 "+xueliang2+" 血量"); Random random1 =
new Random(); int num1 =random.nextInt(5)+1;//随机生成1-5 if(num1==1){ gesila.Q();
}else if(num1==2){ gesila.W();//如果随机数是2就使用W技能 } else if(num1==3){
gesila.E();//如果随机数是3就使用E技能 } else if(num1==4){ gesila.R();//如果随机数是4就使用R技能 }
else if(num1==5){ gesila.pt();//如果随机数是5就使用普通攻击 } number
=jinggang.getGjil()-jinggang.getFangyu(); //造成的伤害值攻击力减防御力
if(num1==5)//如果随机数等于5就暴击 2 0%的暴击率 {
number=(jinggang.getGjil()-jinggang.getFangyu())*2;//攻击力减防御力乘以2 } int xueliang1
=gesila.getBlood()-number; gesila.setBlood(gesila.getBlood()-number);
System.out.println("造成"+number+"点伤害,当前还剩下 "+xueliang1+" 血量\n"); if
(gesila.getBlood()<0){ System.out.println("胜负已定");
if(gesila.getBlood()>jinggang.getBlood()){//如果哥斯拉血量大于金刚, System.out.println("
哥斯拉胜利"); fina=false; }else { System.out.println("金刚胜利"); fina=false; } } } } }
public class Test_Game {//流程控制方法 public static void main(String[] args) { Play
play = new Play(); play.show(); }