题目如下

Game某游戏中有轰炸机、直升机、重型坦克、轻型坦克、飞行兵、步兵等六大兵种,下面设计一组类和接口,满足如下设计要求:
轰炸机、直升机均属于飞行器这一大类; 重型坦克、轻型坦克均属于坦克这一大类; 飞行兵、步兵均属于人这一大类;
重型坦克、轻型坦克、步兵均属于陆军;轰炸机、直升机、飞行兵均属于空军; 轰炸机、轻型坦克、步兵只能攻击陆军;
直升机、飞行兵、重型坦克即可攻击空军,也能攻击陆军。

代码如下,共有12个文件

Main.java

//Main.java
public class Main {public static void main(String[] args) {// TODO Auto-generated method stub步兵 land1 = new 步兵("步兵", 'a');轻型坦克 land2 = new 轻型坦克("轻坦", 'c');重型坦克 land3 = new 重型坦克("重坦", 'a');直升机 plane1 = new 直升机("直飞", 'b');轰炸机 plane2 = new 轰炸机("轰机", 'b');飞行兵 plane3 = new 飞行兵("飞兵", 'd');land1.攻击(plane1);land1.攻击(plane2);land1.攻击(plane3);land1.攻击(land2);land1.攻击(land3);}
}

人.java

//人.java
public class 人 {
}

陆军.java

//陆军.java
public interface 陆军 {public void 攻击(Object obj);
}

空军.java

//空军.java
public interface 空军 {public void 攻击(Object obj);
}

飞行器.java

//飞行器.java
public class 飞行器 {
}

坦克.java

//坦克.java
public class 坦克 {
}

步兵.java

//步兵.java
public class 步兵 extends 人 implements 陆军 {String str;char c;public 步兵  (String str, char c){this.str = str;this.c = c;if(c == 'a' || c == 'A' || c == 'd' || c == 'D') {this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;} else if(c == 'b' || c == 'B') {this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;} else if(c == 'c' || c == 'C') {this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;}}@Overridepublic void 攻击(Object obj) {// TODO Auto-generated method stubSystem.out.print(str + " 遇见 " + obj.toString() + ":");if(str.charAt(0) == obj.toString().charAt(0)) {System.out.println(" 不能攻击!");} else {if(obj instanceof 重型坦克)System.out.println("可以攻击陆军");else if(obj instanceof 轻型坦克)System.out.println("可以攻击陆军");else if(obj instanceof 步兵)System.out.println("可以攻击陆军");elseSystem.out.println("不能攻击空军");}}@Overridepublic String toString() {// TODO Auto-generated method stubreturn str;}
}

轻型坦克.java

//轻型坦克.java
public class 轻型坦克 extends 坦克 implements 陆军 {String str;char c;public 轻型坦克(String str, char c) {this.str = str;this.c = c;if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;} else if (c == 'b' || c == 'B') {this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;} else if (c == 'c' || c == 'C') {this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;}}@Overridepublic void 攻击(Object obj) {// TODO Auto-generated method stubSystem.out.print(str + " 遇见 " + obj.toString() + ":");if (str.charAt(0) == obj.toString().charAt(0)) {System.out.println(" 不能攻击!");} else {if (obj instanceof 重型坦克)System.out.println("可以攻击陆军");else if (obj instanceof 轻型坦克)System.out.println("可以攻击陆军");else if (obj instanceof 步兵)System.out.println("可以攻击陆军");elseSystem.out.println("不能攻击空军");}}@Overridepublic String toString() {// TODO Auto-generated method stubreturn str;}
}

重型坦克.java

//重型坦克.java
public class 重型坦克 extends 坦克 implements 陆军 {String str;char c;public 重型坦克(String str, char c) {this.str = str;this.c = c;if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;} else if (c == 'b' || c == 'B') {this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;} else if (c == 'c' || c == 'C') {this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;}}@Overridepublic void 攻击(Object obj) {// TODO Auto-generated method stubSystem.out.print(str + " 遇见 " + obj.toString() + ":");if (str.charAt(0) == obj.toString().charAt(0)) {System.out.println(" 不能攻击!");} else {if (obj instanceof 重型坦克)System.out.println("可以攻击陆军");else if (obj instanceof 轻型坦克)System.out.println("可以攻击陆军");else if (obj instanceof 步兵)System.out.println("可以攻击陆军");elseSystem.out.println("不能攻击空军");}}@Overridepublic String toString() {// TODO Auto-generated method stubreturn str;}
}

飞行兵.java

//飞行兵.java
public class 飞行兵 extends 人 implements 空军 {String str;char c;public 飞行兵(String str, char c) {this.str = str;this.c = c;if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;} else if (c == 'b' || c == 'B') {this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;} else if (c == 'c' || c == 'C') {this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;}}@Overridepublic void 攻击(Object obj) {// TODO Auto-generated method stubSystem.out.print(str + " 遇见 " + obj.toString() + ":");if (str.charAt(0) == obj.toString().charAt(0)) {System.out.println(" 不能攻击!");} else {if (obj instanceof 重型坦克)System.out.println("可以攻击陆军");else if (obj instanceof 轻型坦克)System.out.println("可以攻击陆军");else if (obj instanceof 步兵)System.out.println("可以攻击陆军");elseSystem.out.println("可以攻击空军");}}@Overridepublic String toString() {// TODO Auto-generated method stubreturn str;}
}

直升机.java

//直升机.java
public class 直升机 extends 飞行器 implements 空军 {String str;char c;public 直升机(String str, char c) {this.str = str;this.c = c;if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;} else if (c == 'b' || c == 'B') {this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;} else if (c == 'c' || c == 'C') {this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;}}@Overridepublic void 攻击(Object obj) {// TODO Auto-generated method stubSystem.out.print(str + " 遇见 " + obj.toString() + ":");if (str.charAt(0) == obj.toString().charAt(0)) {System.out.println(" 不能攻击!");} else {if (obj instanceof 重型坦克)System.out.println("可以攻击陆军");else if (obj instanceof 轻型坦克)System.out.println("可以攻击陆军");else if (obj instanceof 步兵)System.out.println("可以攻击陆军");elseSystem.out.println("可以攻击空军");}}@Overridepublic String toString() {// TODO Auto-generated method stubreturn str;}
}

轰炸机.java

//轰炸机.java
public class 轰炸机 extends 飞行器 implements 空军 {String str;char c;public 轰炸机(String str, char c) {this.str = str;this.c = c;if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;} else if (c == 'b' || c == 'B') {this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;} else if (c == 'c' || c == 'C') {this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;}}@Overridepublic void 攻击(Object obj) {// TODO Auto-generated method stubSystem.out.print(str + " 遇见 " + obj.toString() + ":");if (str.charAt(0) == obj.toString().charAt(0)) {System.out.println(" 不能攻击!");} else {if (obj instanceof 重型坦克)System.out.println("可以攻击陆军");else if (obj instanceof 轻型坦克)System.out.println("可以攻击陆军");else if (obj instanceof 步兵)System.out.println("可以攻击陆军");elseSystem.out.println("可以攻击空军");}}@Overridepublic String toString() {// TODO Auto-generated method stubreturn str;}
}

本文地址:http://liuyanzhao.com/3345.html
转载请注明

某游戏中有轰炸机、直升机、重型坦克、轻型坦克、飞行兵、步兵等六大兵种相关推荐

  1. 一个游戏中玩家总经验值达到200就可以到达2级,达到400可以升到3级,达到600可升4级,达到800可升5级依此类推(玩家新创建的角色为0经验1级)。游戏中有一种超级经验丹,玩家1级的时候使用超级经

    运行环境:赛码网 题目描述 一个游戏中玩家总经验值达到200就可以到达2级,达到400可以升到3级,达到600可升4级,达到800可升5级依此类推(玩家新创建的角色为0经验1级).游戏中有一种超级经验 ...

  2. 你在玩金铲铲之战,必须打倒敌人以强化自己的战斗力。这个游戏中有若干个 boss,你把所有boss 全部打败即完成游戏。打boss 的顺序可以自选。

    你在玩金铲铲之战,必须打倒敌人以强化自己的战斗力.这个游戏中有若干个 boss,你把所有boss 全部打败即完成游戏.打boss 的顺序可以自选.为了让你们计算起来更加轻松,我大大简化了每个 boss ...

  3. c++(多态)一个游戏中有多种怪物(Monster),怪物之间可能要发生战斗(fight),每场战斗都是一个怪物与另一怪物之间的一对一战斗。

    一个游戏中有多种怪物(Monster),怪物之间可能要发生战斗(fight),每场战斗都是一个怪物与另一怪物之间的一对一战斗.每个怪物都有自己的生命值(hitpoint).攻击力值(damage)和防 ...

  4. [Unity3D]卡牌游戏中有关卡牌类的制作

    文章目录 展示卡牌 卡牌展示效果 打出卡牌 敌人释放技能 需求 制作 流程 抽牌: 弃牌: 一些问题 抽牌 查看卡牌 查看抽牌堆 查看弃牌堆 卡牌效果的实现 还没学到设计模式,所以自己和同学捣鼓了一个 ...

  5. Intel:酷睿第12代CPU在游戏中有很大的优化空间

    在Intel 2021年架构日活动中,英特尔公布了XeSS(英特尔自己的基于人工智能的神经超采样)等技术,以及即将于今年晚些时候推出的Alder Lake CPU(第12代酷睿CPU)的最终设计.Al ...

  6. 计算机小游戏有哪些,4399电脑小游戏中有一个和lol类似的游戏叫什么

    电脑玩游戏卡,建议应该先对电脑进行下检查: 1.网络 检查下网络,是不是网速不好啊,打开腾讯电脑管家一工具箱一网速测试,测试下是不是网速不怎么给力 2.电脑的温度 电脑开机时过长或是运行的软件过多风扇 ...

  7. 游戏背景音乐与音效存在于游戏中有什么特殊的意义?

    游戏被称为第九种艺术,他说一个独立的.完整的世界.在游戏的世界里我们沉醉其中,无法自拔.在游戏的世界里,必不可缺的就是游戏背景音乐和音效了,那么游戏中的音乐和音效到底有什么特殊的意义呢?下面奇亿音乐小 ...

  8. rust怎么平分东西_腐蚀Rust游戏中有哪些物品 腐蚀Rust游戏所有物品汇总 (3) _游侠网...

    [拆除建筑所需] 不可摧毁,天花板,地基,柱子. 铁门 2C4 10手雷: 木建筑 2C4 15-20手雷: 铁建筑 4C4: 其余可用锄头 铁斧 石斧 撸石. [rust杂学小知识] 蹲着在任何动物 ...

  9. rust腐蚀 木制窗户怎么修_腐蚀Rust游戏中有哪些物品 腐蚀Rust游戏所有物品汇总-游侠网...

    [拆除建筑所需] 不可摧毁,天花板,地基,柱子. 铁门 2C4 10手雷: 木建筑 2C4 15-20手雷: 铁建筑 4C4: 其余可用锄头 铁斧 石斧 撸石. [rust杂学小知识] 蹲着在任何动物 ...

  10. html做星空网页游戏,html5 canvas绚丽3d星空飞行穿梭动画特效

    这是一款使用 html5 canvas和 jQuery 制作的绚丽3d星空飞行穿梭动画特效.该3d星空飞行特效模拟了飞船在宇宙星空中快速穿梭的动画场景,效果非常逼真. HTML结构 HTML结构就使用 ...

最新文章

  1. curl wget之间的区别 以及推荐SimpRead插件
  2. 使用org.apache.jasper.JspC编译jsp文件--转载
  3. Angular 2/Ionic 2 @input和@output理解
  4. 记事本状态栏不会自动_如何在记事本中同时启用状态栏和自动换行
  5. [html] 写H5和小程序有什么相同及不同的地方吗?
  6. swift 拖动按钮_Swift - 单元格滑动按钮库SwipeCellKit使用详解1(基本用法)
  7. mysql启动提示 access denied for user root@localhost(using password:YES) 解决办法总结
  8. React学习笔记—JSX
  9. 华为笔试题2019年3月
  10. ascll码表 ASCALL码表
  11. 单片机蓝牙模块与手机蓝牙通信(3)
  12. easyUI datagrid editor扩展dialog
  13. [转载]你手里期权值多少钱?写给上市公司的同学
  14. 火车售票管理系统 问题陈述和词汇表
  15. 在Raspberry Pi上安装HDMI-CEC
  16. Jetson-Nano系统克隆
  17. 两个卡方分布之和_推荐基础算法之矩阵分解PFM
  18. 关于计算机经历兼职的英文作文,关于兼职的英语作文
  19. POJ 2112 二分+网络流
  20. 2022-3-20 Leetcode744. 寻找比目标字母大的最小字母

热门文章

  1. 【零基础入门】 css学习笔记(5) 浮动
  2. sublime3 多行编辑.摘抄
  3. 10.2.0.4 ON AIX 修改字段属性报错ORA-00600 [kdsgrp1]
  4. 【linux】具体芯片MACHINE_START处理
  5. c++primer 容器算法整理一
  6. MatlabTrick
  7. 批量杀死MySQL连接
  8. 开源版多用户博客系统
  9. 再续上一篇:如果哪天沃尔玛也“.CN”了
  10. 【SpringBoot_ANNOTATIONS】自动装配 02 @Resource @Inject