面向对象综合练习

一、综合格斗小游戏

1.首先新建一个Role的类,定义角色,包括角色名(name),血量(blood)。构建空参,和有参构造。

使用set/get方法。

编写攻击(attack)方法,并定义变量。(Role role)。

采用随机变量Random r=new random();

定义伤害变量 并调用进而给定数值;int hurt=r.nextint(20)+1;

定义角色血量变量remember=> 并返回给role: int remember=role.getblood()-hurt;

当血量低于0时,则将0赋值给rememberblood,若大于零则游戏继续直到血量为0游戏停止。

remember=remember<0?0:remember;

role.setblood(rememberblood);

输出打印攻击结果

System.out.println(this.getName()+"举起拳头打了"+role.getName()+"一下,"+"造成了"+hurt+"点伤害,"+role.getName()
+"还剩下" +rememberblood+"点血");

package Practice1;

import java.util.Random;

public class Role {
    private String name;
    private int blood;

    public Role() {
    }

    public Role(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;
    }
    public void attack(Role role){
        Random r=new Random();
        int hurt=r.nextInt(20)+1;
        int rememberblood=role.getBlood()-hurt;
        rememberblood=rememberblood<0?0:rememberblood;
        role.setBlood(rememberblood);
        System.out.println(this.getName()+"举起拳头打了"+role.getName()+"一下,"+"造成了"+hurt+"点伤害,"+role.getName()
                +"还剩下" +rememberblood+"点血");
    }
}

2.新建测试类GameTest

创建角色r1、r2,

在while(true)循环使用if语句判断血量是否为0,为零则游戏结束break;

不为0,则游戏继续。

package Practice1;

public class GameTest {
    public static void main(String[] args) {
        Role r1=new Role("邵琪",100);
        Role r2=new Role("王龙祥",100);

        //回合制游戏
        while (true){
            r1.attack(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;
            }
        }
    }
}

最后运行结果:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值