奥特曼打小怪兽,赢了的和boss打

Attack类(父类):

public class Attack {
     private String name ;
     private int hp;
     private int atk;
     
     public void setName(String n){
    	 name = n;
     }
     public String getName(){
    	 return name;
     }
     public void setHp(int h){
    	 hp = h;
     }
     public int getHp(){
    	 return hp;
     }
     public void setAtk(int a){
    	 atk = a;
     }
     public int getAtk(){
    	 return atk;
     }
   
}

monster类(子类):

public class monster extends Attack{
  public void attacka(ultraman u){
	 u.setHp(u.getHp() - getAtk());
	 System.out.println(getName()+"正在攻击"+u.getName()+" "+u.getName() +"掉血"+getAtk()+"剩余血量"+u.getHp());
  }
  public void attackb(boss b){
		 b.setHp(b.getHp() - getAtk());
		 System.out.println(getName()+"正在攻击"+b.getName()+" "+b.getName() +"掉血"+getAtk()+"剩余血量"+b.getHp());
	  }
}

ultraman 类(子类):

public class ultraman extends Attack {
	 public void attackm(monster m){
		 m.setHp(m.getHp() - getAtk());
		 System.out.println(getName()+"正在攻击"+m.getName()+" "+m.getName() +"掉血"+getAtk()+"剩余血量"+m.getHp());
	  }
	 public void attackb(boss b){
		 b.setHp(b.getHp() - getAtk());
		 System.out.println(getName()+"正在攻击"+b.getName()+" "+b.getName() +"掉血"+getAtk()+"剩余血量"+b.getHp());
	  }
}

manage类:

public class Manage {
	public static void main(String[] args) {

		monster mo = new monster();
		mo.setName("小怪兽");
		mo.setHp(120);
		mo.setAtk(10);

		ultraman ul = new ultraman();
		ul.setName("奥特曼");
		ul.setHp(100);
		ul.setAtk(15);

		boss bo = new boss();
		bo.setName("boss");
		bo.setHp(200);
		bo.setAtk(20);

		int w = 0;

		for (;;) {
			// 实参是对象名(通过对象名调用类)
			mo.attacka(ul);
			if (ul.getHp() <= 0) {
				System.out.println("小怪兽赢");
				w = 1;
				break;
			}

			ul.attackm(mo);
			if (mo.getHp() <= 0) {
				System.out.println("奥特曼赢");
				w = 2;
				break;
			}
		}

		if (w == 1) {
			mo.setHp(120);
			while (true) {
				mo.attackb(bo);
				if (bo.getHp() <= 0) {
					System.out.println("小怪兽赢");
					break;
				}
				bo.attackm(mo);
				if (mo.getHp() <= 0) {
					System.out.println("boss赢");
					break;
				}
			}
		}
		if (w == 2) {
			ul.setHp(100);
			while (true) {//while(true){}与for(;;){}一样都是死循环;
				ul.attackb(bo);
				if (bo.getHp() <= 0) {
					System.out.println("奥特曼赢");
					break;
				}
				bo.attacka(ul);
				if (ul.getHp() <= 0) {
					System.out.println("boss赢");
					break;
				}
			}
		}

	}
}

最后输出的结果如下图片所示
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值