Java中交互攻击精简版代码(使用继承来简化)

先上效果(同时添加构造方法)

先创一个名为first的英雄大类

package demo1212;

public class first {
    //属性
    private String name;
    private int blood;
    private int attack;

    public first() {
    }

    public first(String name, int blood, int attack) {
        this.blood = blood;
        this.attack=attack;
        this.name=name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setBlood(int blood) {
        this.blood = blood;
    }

    public int getBlood() {
        return blood;
    }

    public void setAttack(int attack) {
        this.attack = attack;
    }

    public int getAttack() {
        return attack;
    }
}

然后创建名为HY的类来继承first父类的性质
package demo1212;

public class HY extends first{
    public HY() {
    }
    public HY(String name, int blood, int attack) {
        super(name, blood, attack);
    }
    }
创建名为YS的类来继承first父类的性质
package demo1212;

public class YS extends first {
    public YS() {
    }

    public YS(String name, int blood, int attack) {
        super(name, blood, attack);
    }
}
测试类别
package demo1212;

import java.util.Random;
import java.util.Scanner;
public class project {
    public static void main(String[] args) {
        //输入语句,选择英雄
        Scanner jh=new Scanner(System.in);
        System.out.println("请选择英雄A:");
        String mingzi= jh.nextLine();
        Scanner ljh=new Scanner(System.in);
        System.out.println("请选择英雄B:");
        String mingzi1= ljh.nextLine();

        HY houyi=new HY();
        houyi.setName(mingzi);
        houyi.setBlood(100);


        YS ys=new YS();
        ys.setName(mingzi1);
        ys.setBlood(100);


        while(ys.getBlood()>=0&&houyi.getBlood()>=0) {

            Random ran=new Random();
            int attack= ran.nextInt(10);
            houyi.setAttack(attack);
            Random ran1=new Random();
            int attack1= ran1.nextInt(10);
            ys.setAttack(attack1);

            ys.setBlood(ys.getBlood()- houyi.getAttack());
            houyi.setBlood(houyi.getBlood()-ys.getAttack());

            System.out.println( houyi.getName() +"正在攻击" + ys.getName()+ "导致其血量减少" +houyi.getAttack()+ ys.getName()+","+ys.getName()+"现在的血量是" + ys.getBlood());
            System.out.println( ys.getName() +"正在攻击" + houyi.getName()+ "导致其血量减少" + ys.getAttack()+houyi.getName()+","+houyi.getName()+"现在的血量是" + houyi.getBlood());
        }
            if( houyi.getBlood()>ys.getBlood()){
            System.out.println(houyi.getName()+"赢了");
        }else {
            System.out.println(ys.getName()+"赢了");
        }
        }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网友小浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值