某游戏中有轰炸机、直升机、重型坦克、轻型坦克、飞行兵、步兵等六大兵种
题目如下
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
转载请注明
某游戏中有轰炸机、直升机、重型坦克、轻型坦克、飞行兵、步兵等六大兵种相关推荐
- 一个游戏中玩家总经验值达到200就可以到达2级,达到400可以升到3级,达到600可升4级,达到800可升5级依此类推(玩家新创建的角色为0经验1级)。游戏中有一种超级经验丹,玩家1级的时候使用超级经
运行环境:赛码网 题目描述 一个游戏中玩家总经验值达到200就可以到达2级,达到400可以升到3级,达到600可升4级,达到800可升5级依此类推(玩家新创建的角色为0经验1级).游戏中有一种超级经验 ...
- 你在玩金铲铲之战,必须打倒敌人以强化自己的战斗力。这个游戏中有若干个 boss,你把所有boss 全部打败即完成游戏。打boss 的顺序可以自选。
你在玩金铲铲之战,必须打倒敌人以强化自己的战斗力.这个游戏中有若干个 boss,你把所有boss 全部打败即完成游戏.打boss 的顺序可以自选.为了让你们计算起来更加轻松,我大大简化了每个 boss ...
- c++(多态)一个游戏中有多种怪物(Monster),怪物之间可能要发生战斗(fight),每场战斗都是一个怪物与另一怪物之间的一对一战斗。
一个游戏中有多种怪物(Monster),怪物之间可能要发生战斗(fight),每场战斗都是一个怪物与另一怪物之间的一对一战斗.每个怪物都有自己的生命值(hitpoint).攻击力值(damage)和防 ...
- [Unity3D]卡牌游戏中有关卡牌类的制作
文章目录 展示卡牌 卡牌展示效果 打出卡牌 敌人释放技能 需求 制作 流程 抽牌: 弃牌: 一些问题 抽牌 查看卡牌 查看抽牌堆 查看弃牌堆 卡牌效果的实现 还没学到设计模式,所以自己和同学捣鼓了一个 ...
- Intel:酷睿第12代CPU在游戏中有很大的优化空间
在Intel 2021年架构日活动中,英特尔公布了XeSS(英特尔自己的基于人工智能的神经超采样)等技术,以及即将于今年晚些时候推出的Alder Lake CPU(第12代酷睿CPU)的最终设计.Al ...
- 计算机小游戏有哪些,4399电脑小游戏中有一个和lol类似的游戏叫什么
电脑玩游戏卡,建议应该先对电脑进行下检查: 1.网络 检查下网络,是不是网速不好啊,打开腾讯电脑管家一工具箱一网速测试,测试下是不是网速不怎么给力 2.电脑的温度 电脑开机时过长或是运行的软件过多风扇 ...
- 游戏背景音乐与音效存在于游戏中有什么特殊的意义?
游戏被称为第九种艺术,他说一个独立的.完整的世界.在游戏的世界里我们沉醉其中,无法自拔.在游戏的世界里,必不可缺的就是游戏背景音乐和音效了,那么游戏中的音乐和音效到底有什么特殊的意义呢?下面奇亿音乐小 ...
- rust怎么平分东西_腐蚀Rust游戏中有哪些物品 腐蚀Rust游戏所有物品汇总 (3) _游侠网...
[拆除建筑所需] 不可摧毁,天花板,地基,柱子. 铁门 2C4 10手雷: 木建筑 2C4 15-20手雷: 铁建筑 4C4: 其余可用锄头 铁斧 石斧 撸石. [rust杂学小知识] 蹲着在任何动物 ...
- rust腐蚀 木制窗户怎么修_腐蚀Rust游戏中有哪些物品 腐蚀Rust游戏所有物品汇总-游侠网...
[拆除建筑所需] 不可摧毁,天花板,地基,柱子. 铁门 2C4 10手雷: 木建筑 2C4 15-20手雷: 铁建筑 4C4: 其余可用锄头 铁斧 石斧 撸石. [rust杂学小知识] 蹲着在任何动物 ...
- html做星空网页游戏,html5 canvas绚丽3d星空飞行穿梭动画特效
这是一款使用 html5 canvas和 jQuery 制作的绚丽3d星空飞行穿梭动画特效.该3d星空飞行特效模拟了飞船在宇宙星空中快速穿梭的动画场景,效果非常逼真. HTML结构 HTML结构就使用 ...
最新文章
- curl wget之间的区别 以及推荐SimpRead插件
- 使用org.apache.jasper.JspC编译jsp文件--转载
- Angular 2/Ionic 2 @input和@output理解
- 记事本状态栏不会自动_如何在记事本中同时启用状态栏和自动换行
- [html] 写H5和小程序有什么相同及不同的地方吗?
- swift 拖动按钮_Swift - 单元格滑动按钮库SwipeCellKit使用详解1(基本用法)
- mysql启动提示 access denied for user root@localhost(using password:YES) 解决办法总结
- React学习笔记—JSX
- 华为笔试题2019年3月
- ascll码表 ASCALL码表
- 单片机蓝牙模块与手机蓝牙通信(3)
- easyUI datagrid editor扩展dialog
- [转载]你手里期权值多少钱?写给上市公司的同学
- 火车售票管理系统 问题陈述和词汇表
- 在Raspberry Pi上安装HDMI-CEC
- Jetson-Nano系统克隆
- 两个卡方分布之和_推荐基础算法之矩阵分解PFM
- 关于计算机经历兼职的英文作文,关于兼职的英语作文
- POJ 2112 二分+网络流
- 2022-3-20 Leetcode744. 寻找比目标字母大的最小字母
热门文章
- 【零基础入门】 css学习笔记(5) 浮动
- sublime3 多行编辑.摘抄
- 10.2.0.4 ON AIX 修改字段属性报错ORA-00600 [kdsgrp1]
- 【linux】具体芯片MACHINE_START处理
- c++primer 容器算法整理一
- MatlabTrick
- 批量杀死MySQL连接
- 开源版多用户博客系统
- 再续上一篇:如果哪天沃尔玛也“.CN”了
- 【SpringBoot_ANNOTATIONS】自动装配 02 @Resource @Inject