面向对象---模拟游戏

该代码创建了Hero类,包括姓名、攻击力、防御力和生命值属性,以及攻击、防御和治疗的方法。然后实例化了多个英雄对象,模拟了他们之间的战斗过程,考虑了距离对闪避几率的影响。战斗逻辑包括了伤害计算、防御判断和血量更新。
摘要由CSDN通过智能技术生成

首先定义英雄类:属性(姓名,攻击力attack,防御力defence,生命值health)
      攻击 att(){}  防御def(){} 治疗heal(){}

public class Hero {
    String name;
    int attack;
    int defence;
    int health;
    String att(){
        return "攻击";
    }
    String def(){
       return "防御成功";
    }
    String heal(){
        return "磕了药,恢复了";
    }

士兵类和野怪类同上,不赘述

创建一个英雄对象元哥

Hero yuange =new Hero();
        yuange.name = "元哥";
        yuange.attack = 200;
        yuange.defence = 20;
        yuange.health = 3000;

同理创建炮兵,斑鸠和达摩对象

设定两个对象初遇时的距离,英雄根据距离会有一定的闪避几率

int distance = (int)(Math.random()*1000);
if(distance>=500&&probability>80) {
                yuange.def();
                System.out.println(yuange.name + "防御成功");
            }else {
                    System.out.println(pao.type+pao.att()+yuange.name+"造成了"+(pao.attack- yuange.defence)+"点伤害");
                    yuange.health -= pao.attack- yuange.defence;
                    System.out.println(yuange.name+"还剩"+yuange.health+"点血量");
                }

打过炮兵,野怪,回过血的元哥与达摩对战,由于达摩是近战英雄,两者距离接近时才有闪避几率

if(distance<400&&proble>70){
                damo.def();
                System.out.println(damo.name+"防御成功");
            }else {
                System.out.println(yuange.name+yuange.att()+damo.name+",造成了"+(yuange.attack- damo.defence)+"点伤害");
                damo.health -= yuange.attack- damo.defence;
                if (damo.health<0) damo.health = 0;
                System.out.println(damo.name+"还剩"+damo.health+"点血量");
            }

最后,直到一方战败,停止循环

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值