蜈蚣精类:

属性包括:怪物名字,生命值,攻击力

方法包括:攻击,移动(飞行移动)

要求

⦁分析蛇怪和蜈蚣精的公共成员,提取出父类—怪物类

⦁利用继承机制,实现蛇怪类和蜈蚣精类

⦁攻击方法,描述攻击状态。内容包括怪物名字,生命值,攻击力

⦁编写测试类,分别测试蛇怪和蜈蚣精的对象及相关方法

⦁定义名为mon的包存怪物类,蛇怪类,蜈蚣精类和测试类

运行效果:

首先根据题目写出父类。有名字,血量,攻击力等私有属性,攻击和移动的方法,还有一个显示状态的输出方法。一个有参构造,在子类构造方法时可以通过super关键字使用父类的这个方法。

父类:

class Monster{

private String name;
    private int blood;
    private int force;
    public Monster(String name2, int blood2, int force2) {
           this.name=name2;
           this.blood=blood2;
           this.force=force2;
    }
    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 int getForce() {
        return force;
    }
    public void setForce(int force) {
        this.force = force;
    }
    void show() {
        System.out.println("当前生命值是:"+getBlood());
        System.out.println("攻击力是:"+getForce());
    }
    void attack(){
        System.out.println("怪物发动攻击");
    }
    void Move(){
        System.out.println("直线移动");
    }
}

蛇精类:

class snakeMonster extends Monster{
    public snakeMonster(String name,int blood,int force){ 
        super(name,blood,force);
    }
    void Move(){
        System.out.println("我是蛇怪,我走S型路线");
        }
    void recover() {
        int remainblood=getBlood();
        remainblood=remainblood<10?remainblood+20:remainblood;
        System.out.println("实施大蛇补血术。。。。。,当前生命值是:"+remainblood);
        }
    void attack(){
        System.out.println(getName()+"展开攻击");
    }
}

蜈蚣精类:

class centipedeMonster extends Monster{
    public centipedeMonster(String name,int blood,int force){
        super(name,blood,force);
    }
      void Move() {
          System.out.println("我是蜈蚣精,御风飞行");
      }
      void attack() {
          System.out.println(getName()+"展开攻击");
      }

}

测试类:

public class Test2 {

public static void main(String[] args) {
        // TODO Auto-generated method stub
        snakeMonster snake=new snakeMonster("蛇精甲",5,20);
        snake.attack();
        snake.show();
        snake.recover();
        snake.Move();
        System.out.println("--------------------------------");
        centipedeMonster centipede=new centipedeMonster("蜈蚣乙",60,15);
         centipede.attack();
         centipede.show();
         centipede.Move();
    }

}

完整代码:

package mon;
class Monster{
    private String name;
    private int blood;
    private int force;
    public Monster(String name2, int blood2, int force2) {
           this.name=name2;
           this.blood=blood2;
           this.force=force2;
    }
    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 int getForce() {
        return force;
    }
    public void setForce(int force) {
        this.force = force;
    }
    void show() {
        System.out.println("当前生命值是:"+getBlood());
        System.out.println("攻击力是:"+getForce());
    }
    void attack(){
        System.out.println("怪物发动攻击");
    }
    void Move(){
        System.out.println("直线移动");
    }
}
class snakeMonster extends Monster{
    public snakeMonster(String name,int blood,int force){ 
        super(name,blood,force);
    }
    void Move(){
        System.out.println("我是蛇怪,我走S型路线");
        }
    void recover() {
        int remainblood=getBlood();
        remainblood=remainblood<10?remainblood+20:remainblood;
        System.out.println("实施大蛇补血术。。。。。,当前生命值是:"+remainblood);
        }
    void attack(){
        System.out.println(getName()+"展开攻击");
    }
}
class centipedeMonster extends Monster{
    public centipedeMonster(String name,int blood,int force){
        super(name,blood,force);
    }
      void Move() {
          System.out.println("我是蜈蚣精,御风飞行");
      }
      void attack() {
          System.out.println(getName()+"展开攻击");
      }

}
public class Test2 {

public static void main(String[] args) {
        // TODO Auto-generated method stub
        snakeMonster snake=new snakeMonster("蛇精甲",5,20);
        snake.attack();
        snake.show();
        snake.recover();
        snake.Move();
        System.out.println("--------------------------------");
        centipedeMonster centipede=new centipedeMonster("蜈蚣乙",60,15);
         centipede.attack();
         centipede.show();
         centipede.Move();
    }

}

运行效果:

2.某公司要开发新游戏,请用面向对象的思想,设计游戏中的蛇怪和蜈蚣精设定⦁蛇怪类:属性包括:怪物名字,生命值,攻击力方法包括:攻击,移动(曲线移动),补血(当生命值<10时,可以补加20生命值相关推荐

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

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

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

    某公司要开发新游戏,请用面向对象的思想,设计游戏中的蛇怪和蜈蚣精 设定 蛇怪类: 属性包括:怪物名字,生命值,攻击力 方法包括:攻击,移动(曲线移动),补血(当生命值<10时,可以补加20生命值 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  10. python面向对象代码_两百行代码搞定!使用Python面向对象做个小游戏

    大家好,欢迎来到Python实战专题. 我们今天同样实现一个小游戏,这个小游戏非常有名,我想大家都应该玩过.它就是tic tac toe,我们打开chrome搜索一下就可以直接找到游戏了. 由于我们使 ...

最新文章

  1. Spring Boot 2.x基础教程:使用Elastic Job的分片配置
  2. 深入理解Webpack核心模块Tapable钩子[异步版]
  3. 2020-11-18(如何打开.jar工具)
  4. 重庆邮电大学发布2021年最新小样本目标检测综述
  5. web应用的目录结构
  6. js php 数据类型判断,【js基础】变量类型判断
  7. 销售管理系统 java_用Java从零写一个B2C商城,看完不要再说自己没有实战经验了!...
  8. ruby hash方法_Ruby中带有示例的Hash.keys方法
  9. http://mozilla.debian.net/
  10. android游戏boss坐标,混沌与秩序2已知boss刷新点分布图详解(已更新到20号boss)...
  11. java基础学习及总结
  12. iphone绕过id_破解苹果安卓手机屏幕锁ID锁 极品神器
  13. Lodop打印控件介绍
  14. 【Uipath杂谈】用Datatable处理数据(二)
  15. Ribbon界面图标可以直接用PNG做透明图标
  16. Bryntum Gantt 5.0 JS
  17. java实现计算器_Java 实现简单计算器
  18. Win10打开休眠模式
  19. 哲学家进餐问题pv_【jMiniLang】哲学家就餐问题
  20. 什么是PowerShell,一起来看看自动化的历史发展阶段

热门文章

  1. 孤军奋战的百合网 下一城会在哪?
  2. 将dubbo暴露HTTP服务
  3. Navicat注释乱码
  4. ets交易软件测试简历,ETS工具使用指南
  5. 英国沦陷了!2014年英国婴儿名top10,穆罕默德意外夺魁
  6. 单目深度估计--深度学习篇
  7. UEFI 模式下重新安装系统注意事项
  8. 2018年最新电子科技大学TCP/IP协议原理(杨宁)CSF视频教程42讲
  9. 未储存的Pages文件怎么恢复
  10. Linux audit详解