匿名用户

1级

2018-05-22 回答

static class Hero{ //英雄类

private String name;//英雄的名字

private Integer experience;//经验值

private Integer level; //英雄等级

private Integer attack; //攻击力

public Hero(String name){ //新建英雄的构造方法

this.name = name;//输入名字

this.experience = 0;//初始经验值为0

this.level = 1;//初始等级为1

this.attack = 100;//初始攻击力为100

}

public void AttackMonster(Monster monster){ //攻击怪物的方法

System.out.println("英雄攻击造成"+this.attack+"点伤害");

Integer hp = monster.getHealthPoint();//怪物被攻击前血量

if (hp > this.attack) { //判断 如果怪物的血量大于攻击力

hp = hp - this.attack;//怪物的血量 就减少攻击力的点数

} else { //如果怪物的血量 等于或者小于攻击力

hp = 0; //怪物血量为0 死亡

}

monster.setHealthPoint(hp); //改变怪物被攻击后的血量

System.out.println("怪物剩余血量"+hp);

if (hp == 0 && this.level <18){ //如果怪物死亡 且英雄等级没有达到最高的18级

System.out.println("英雄的经验值增加"+monster.getExperience()+"点");

this.experience = this.experience + monster.getExperience(); //英雄的经验值 增加

if (this.experience >= level * 100){ //设定 英雄升级所需经验值为 等级*100  如果英雄增加后的经验值达到升级条件

this.experience = this.experience - level*100; //经验值减去当前升级需要的经验值 溢出的进入下一个等级经验

this.level = this.level + 1;//英雄等级 +1

this.attack = this.attack + 20; //设定 每升一级英雄攻击力 +20

System.out.println("英雄升级了,等级+1,攻击力+20,当前等级"+this.level+",当前攻击力"+this.attack);

}

}

}

//获取英雄名字的方法

public String getName() {

return name;

}

//改变英雄名字的方法

public void setName(String name) {

this.name = name;

}

//获取英雄当前经验值的方法

public Integer getExperience() {

return experience;

}

//改变英雄当前经验值的方法

public void setExperience(Integer experience) {

this.experience = experience;

}

//获取英雄当前等级的方法

public Integer getLevel() {

return level;

}

//改变英雄当前等级的方法

public void setLevel(Integer level) {

this.level = level;

}

//获取英雄当前攻击力的方法

public Integer getAttack() {

return attack;

}

//改变英雄当前攻击力的方法

public void setAttack(Integer attack) {

this.attack = attack;

}

}

static class Monster{ //怪物类

private String name; //怪物的名字

private Integer healthPoint;//生命值

private Integer level;//怪物等级

private Integer experience; //怪物的经验值

public Monster(String name,Integer level){ //创建怪物的构造方法 参数 名字,等级

this.name = name; //初始化怪物的名字

this.level = level; //初始化怪物的等级

this.healthPoint = level * 1000; //初始化怪物的血量

this.experience = level * 10;//初始化怪物的经验,英雄杀死后可获得,设定怪物经验值为等级*10

}

public Integer getHealthPoint() {

return healthPoint;

}

public void setHealthPoint(Integer healthPoint) {

this.healthPoint = healthPoint;

}

public Integer getLevel() {

return level;

}

public void setLevel(Integer level) {

this.level = level;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getExperience() {

return experience;

}

public void setExperience(Integer experience) {

this.experience = experience;

}

}

public static void main(String[] args) throws Exception {

Hero hero = new Hero("德玛西亚之力"); //新建一个英雄

Monster monster = new Monster("小兵",1);//新建一个小兵

do {

hero.AttackMonster(monster); //攻击怪物

}while (monster.getHealthPoint() != 0);  //如果怪物没死 一直攻击

}

java生成英雄与怪物对象,java 创建一个LOL中的英雄类和怪物类 初学者,求大神指点...相关推荐

  1. 简单实现对象调用:创建一个LOL中的英雄类和怪物类

    1.创建一个LOL中的英雄类和怪物类,要求: 怪物类中加入生命值属.等级属性,生命值=等级*1000 英雄类中加入"经验值","等级","攻击力&qu ...

  2. java注解接收上传文件,前台:Input type=file 后台获取文件内容用的是spring注解,当地环境上传图片是好的,发布到服务器上图片读取不到,求大神指点...

    当前位置:我的异常网» Java Web开发 » 前台:Input type="file" 后台获取文件内 前台:Input type="file" 后台获取文 ...

  3. java 中查询余额怎么写_如何调用中国移动余额查询的接口 用java 求大神指点一下。...

    苏别v 2016/02/01 11:06 余额查询记录 ----------------------------请求--------------------------------- {SERIAL_ ...

  4. java日历打印出的格式不对_Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导...

    Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导 我看了一下日历,发现你打出来的其实是九月份而不是八月份,那么我猜在showPrint这里的第二个参数是从0开始的,即0~11 ...

  5. JAVA程序设计(自主模式)-创建一个简单的表示矩形的Rectangle类

    创建一个简单的表示矩形的Rectangle类,满足以下条件: 1.定义两个成员变量height和width,表示矩形的长和宽,类型为整型 2.定义一个getArea方法,返回矩形的面积 3.定义一个g ...

  6. 用java编写圆锥_求java大神帮忙 求大神帮助!Java

    导航:网站首页 > 求java大神帮忙 求大神帮助!Java 求java大神帮忙 求大神帮助!Java 相关问题: 匿名网友: 普通类 public class CircularA { //求圆 ...

  7. 用java提示用户输入学生个数_编写程序,提示用户输入一个数N,然后显示1~N的所有偶数平方值,求大神看看我写的程序哪里有问题。。...

    点击查看编写程序,提示用户输入一个数N,然后显示1~N的所有偶数平方值,求大神看看我写的程序哪里有问题..具体信息 答: 修改后的程序:#includeint main(){int n,a,b;pri ...

  8. java 崩溃监控,求大神分析drwtsn32 监控javaee程序崩溃日记

    当前位置:我的异常网» J2EE » 求大神分析drwtsn32 监控javaee程序崩溃日记 求大神分析drwtsn32 监控javaee程序崩溃日记 www.myexceptions.net  网 ...

  9. java主界面设置背景图片_java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改)...

    java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改) 关注:223  答案:4  mip版 解决时间 2021-01-26 22:09 提问者非莪莫属 2021-01 ...

最新文章

  1. Swarm 如何实现 Failover?- 每天5分钟玩转 Docker 容器技术(98)
  2. [论文笔记] A model for correlated failures in N-version programming(IIE Trans, 2004)
  3. redis中的intset
  4. python 列表(list)操作及函数
  5. 个人学习进度(第十六周)
  6. INF DestinationDirs Section
  7. String(min)
  8. Javascript实现类似C#类的封装
  9. 又回来了~工作告一段落了,终于有时间看书写点东西了
  10. element-UI:el-table 表格排序
  11. Android Studio 查询RecyclerView最新依赖方法
  12. 图解Transformer(完整版)
  13. 详解JAVA对象实例化过程
  14. 桌面图标有蓝底处理刚才
  15. 计算机太极之光,且看今朝,刚柔并济,叱咤风云
  16. 中译英提升:准译员如何“假装”自己很地道?丨打死个翻译官2.4
  17. Machine learning techniques to enable closed-loop control in anesthesia-笔记
  18. C语言入门系列 - 自定义函数
  19. 摩托车挡板防碎膜-安全骑行好伴侣
  20. 测试经理教你如何用monkey进行压力测试!

热门文章

  1. 《利用Python进行数据分析》笔记---第6章数据加载、存储与文件格式
  2. 世界首富用 AI 开除“兄弟”
  3. python面试中的8个必考问题_Python 面试中 8 个必考问题,值得收藏!
  4. 2015-4-23 bav总结
  5. python-字典附加题3- 股票查询
  6. 基于区块链技术,电子商务平台将提高安全性和透明度
  7. 【计算机二级等级考试】公共基础知识-学习笔记
  8. UVa 10101 - Bangla Numbers
  9. Stanford cs140 Pintos Project2实验目标
  10. 中国外交部和中国驻英国使、领馆联系办法