某公司要开发新游戏,请用面向对象的思想,设计游戏中的蛇怪和蜈蚣精
设定

  1. 蛇怪类:
    属性包括:怪物名字,生命值,攻击力
    方法包括:攻击,移动(曲线移动),补血(当生命值<10时,可以补加20生命值)
  2. 蜈蚣精类:
    属性包括:怪物名字,生命值,攻击力
    方法包括:攻击,移动(飞行移动)

要求

  1. 分析蛇怪和蜈蚣精的公共成员,提取出父类—怪物类
  2. 利用继承机制,实现蛇怪类和蜈蚣精类
  3. 攻击方法,描述攻击状态。内容包括怪物名字,生命值,攻击力
  4. 编写测试类,分别测试蛇怪和蜈蚣精的对象及相关方法
public class Monster {   // 怪物类// 名字private String name;// 生命力private int  hitPoints;// 攻击力private int attack;public Monster() {super();}public Monster(String name, int hitPoints, int attack) {super();this.name = name;this.hitPoints = hitPoints;this.attack = attack;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getHitPoints() {return hitPoints;}public void setHitPoints(int hitPoints) {this.hitPoints = hitPoints;}public int getAttack() {return attack;}public void setAttack(int attack) {this.attack = attack;}//攻击方法,描述攻击状态。内容包括怪物名字,生命值,攻击力public void method(){System.out.println("怪物" + name + "展开了攻击");System.out.println("当前生命值是:" + hitPoints);System.out.println("攻击力是:" + attack);}// 移动public void move(){System.out.println("移动");}}
// 蛇怪类
public class Basilisk extends Monster implements Replenish {public Basilisk() {}public Basilisk(String name, int hitPoints, int attack) {super(name, hitPoints, attack);}// 重写移动功能@Overridepublic void move() {System.out.println("我是蛇怪,我走S型路线");}// 补血功能 实现接口@Overridepublic void replenish() {if (getHitPoints() <= 5 && getHitPoints() > 0) {int hitPoints = getHitPoints();setHitPoints(hitPoints += 20);System.out.println("施展大蛇补血术......,当前的声明值是:" + getHitPoints());}}}

// 蜈蚣类
public class Centipede extends Monster {public Centipede() {}// hitPoints血量 ...attack攻击力public Centipede(String name, int hitPoints, int attack) {super(name, hitPoints, attack);}// 重写移动功能@Overridepublic void move() {System.out.println("我是蜈蚣精,御风飞行");}
}
// 补血功能
public interface Replenish {void replenish();
}
// 测试类
public class Test {public static void main(String[] args) {Centipede c = new Centipede("蜈蚣乙",60,15);c.method();c.move();System.out.println("------------------------------");Basilisk b = new Basilisk("蛇怪甲",5,20);b.method();b.replenish();b.move();}
}

输出结果:

怪物蜈蚣乙展开了攻击
当前生命值是:60
攻击力是:15
我是蜈蚣精,御风飞行
------------------------------
怪物蛇怪甲展开了攻击
当前生命值是:5
攻击力是:20
施展大蛇补血术......,当前的声明值是:25
我是蛇怪,我走S型路线

某公司要开发新游戏,请用面向对象的思想,设计游戏中的蛇怪和蜈蚣精相关推荐

  1. 编写程序描述卡车信息 某公司要开发“X出租公司车辆管理系统”,请用面向对象的思想设计卡车类。

    一.练习题目 编写程序描述卡车信息 二.问题描述 某公司要开发"X出租公司车辆管理系统",请用面向对象的思想设计卡车类. 设定: 属性:车牌号.车型.颜色.日租金.载重量 方法:租 ...

  2. 用面向对象的思想探讨游戏“魔兽争霸”(1)

    [文章标题]用面向对象的思想探讨游戏"魔兽争霸"(1) [文章作者]曾健生 [作者邮箱]zengjiansheng1@126.com [作者QQ]190678908 [作者博客]h ...

  3. 编写程序描述影视歌三栖艺人 需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三梄艺人。 实现思路及关键代码 1)分析影视歌三栖艺人的特性 a)可以演电影 b)可以演电视剧 c)可以唱歌

    编写程序描述影视歌三栖艺人 需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三梄艺人. 实现思路及关键代码 1)分析影视歌三栖艺人的特性 a)可以演电影 b)可以演电视剧 c)可以唱歌 2)定 ...

  4. 编写程序描述影视歌三栖艺人。需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三梄艺人。...

    编写程序描述影视歌三栖艺人.需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三梄艺人. 实现思路: 1) 分析影视歌三栖艺人的特性:可以演电影,可以演电视剧,可以唱歌 2) 定义多个接口描述特 ...

  5. 说,有一群 小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在有多少小孩在玩,请用面向对象的思想编写程序解决

    先定义一个类 package leiDeDingYi_leiDeShiYong;public class Children {//成员变量String name;int age;static int ...

  6. Silverlight游戏设计(Game Design):(五)面向对象的思想塑造游戏对象

    传说,面向对象的开发模式最初是因为程序员偷懒而不小心诞生的.发展至今,人们从最初的热忠于讨论某某语言是否足够面向对象到现在开始更广泛的关注面向对象的思想而不是具体内容.面向对象的思想其实并不深奥,它存 ...

  7. 请用面向对象的思想,谈一谈这次面试的过程

    01. 很久没有思考过什么是面向对象这个问题了,就好像很久没有吃过烤红薯一样,那股香味究竟是什么,已经很难准确地形容出来了.脑海中只浮现出这样一幅动图: 前两天,读者秋秋问我: 二哥,究竟什么是面向对 ...

  8. scratch设计跑酷游戏_我如何使用Scratch设计游戏

    scratch设计跑酷游戏 作为游戏果酱和开源爱好者的粉丝,我立即被itch.io吸引了去年10月的Open Jam . 我决定使用Scratch编程语言来创建游戏. Scratch面向想要学习编程的 ...

  9. 棋牌游戏开发新转机 出海最佳国家有哪些

    前两年,闲徕互娱20亿收购一事,将棋牌游戏开发推上风口浪尖,也是棋牌游戏最火热的时候,这几年随着相关部门加强监管,以及各大棋牌游戏开发公司的涌入,市场同质化现象严重,大众有些审美疲劳,使得该行业陷入低 ...

最新文章

  1. 容器(Collection/Map)、容器中的设计模式
  2. 机器学习常见知识点自查50问与答
  3. Telerik Reporting之生成报表
  4. oracle11g 隐藏参数_ORACLE 11GR2常用参数(含隐含参数)设置
  5. 表格列求和_excel表格制作,Excel表格的基本操作,包含制作一个表格10方面的知识...
  6. Screenium 3 for Mac - 强大的屏幕录制编辑器
  7. qt widget 窗口句柄的问题
  8. Struts2源码学习(一)——Struts2中的XWork容器
  9. PLSQL Developer学习笔记
  10. maven添加sqlserver的jdbc驱动包
  11. java subset_Java中的TreeSet的subSet()方法 Java.util.TreeSet.subSet() - Break易站
  12. 如何通俗易懂地让女朋友明白什么是语言模型?
  13. 自定义APPLEALC驱动APPLEHDA之整理codec
  14. 禁用EnableViewState和启用EnableViewStat时请注意
  15. java文件gzip解压_如何在Java中解压缩GZip文件?
  16. 云算子矩阵计算机,《CASIOfx-5800P矩阵编程计算器测量程序集锦梁宝禄.pdf》-支持高清全文免费浏览-max文档...
  17. Spring Cloud限流详解
  18. 基于R语言对哺乳动物睡眠时间sleep数据集的分析
  19. 微信小程序:wx.createInnerAudioContext的使用
  20. Enter键绑定按钮或方法

热门文章

  1. 微信扫码小绿盒支持支付宝+微信收款教程
  2. 微信扫码支付demo java_微信扫码支付JavaDemo
  3. JavaApi:IO基础
  4. java手机号正则验证(中国手机号)
  5. pap.er for mac高清壁纸下载后的储存位置在哪里?小编告诉你!!
  6. 2所非211院校挺进全球高校600强,甩开一众985 | 泰晤士世界大学排行榜出炉
  7. 搜狗收录查询 怎么查搜狗是否收录过网页
  8. SkyEye与Trace32集成并搭建调试环境
  9. python第一行左对齐_python 左对齐,右对齐
  10. B站自定义视频播放速度