回合制文字版格斗游戏(类的运用)

//一创建java文件1,命名为playGame

import java.util.Random;

public class playGame {
    //格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(new对象的时候),这些信息就应该被确定下来
    //eg:姓名:乔峰 血量:100        姓名:鸠磨章 血量:100
    private String name;
    private int blood;
    public playGame()
    {
    }

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

    public String getName() {
        return name;
    }

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

    public int getBlood() {
        return blood;
    }

    public void setBlood(int blood) {
        this.blood = blood;
    }
    //定义攻击别人
    //谁攻击谁 r1攻击r2 r1调用者 攻击参数r2
    public void attack(playGame role)
    {
        //造成的伤害
        Random r=new Random();
        int hurt=r.nextInt(20)+1;
        //修改剩余血量  remainBoold(剩余血量)
        int remainBoold=role.getBlood()-hurt;
        //当血量为负数时,修整为0
        remainBoold=remainBoold<0?0:remainBoold;
        //修改role的血量
        role.setBlood(remainBoold);
        System.out.println(this.getName()+"举起拳头打了"+role.getName()+"一下," +
                "造成了"+hurt+"伤害,"+role.getName()+"还剩"+remainBoold+"多少血量");
    }
}

//二创建java文件2,命名为GameTest

//主要用来运行类playGame

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


        //创建第一个角色
        playGame r1 = new playGame("乔峰", 100);
        playGame r2 = new playGame("鸠磨章", 100);
        //开始决斗,回合制
        while (true)
        {//r1开始攻击r2
            r1.attack(r2);
            //判断r2的剩余血量
            if (r2.getBlood() == 0) {
                System.out.println(r1.getName() + "K.O了" + r2.getName());
                break;
            }
            r2.attack(r1);
            if(r1.getBlood()==0)
            {
                System.out.println(r2.getName() + "K.O了" + r1.getName());
           break;
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值