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

avatar 2017年04月25日18:34:02 1 3347 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此
Game某游戏中有轰炸机、直升机、重型坦克、轻型坦克、飞行兵、步兵等六大兵种,下面设计一组类和接口,满足如下设计要求:

轰炸机、直升机均属于飞行器这一大类;

重型坦克、轻型坦克均属于坦克这一大类;

飞行兵、步兵均属于人这一大类;

重型坦克、轻型坦克、步兵均属于陆军;轰炸机、直升机、飞行兵均属于空军;

轰炸机、轻型坦克、步兵只能攻击陆军;

直升机、飞行兵、重型坦克即可攻击空军,也能攻击陆军。



代码如下,共有12个文件

Main.java
  1. //Main.java
  2. public class Main {
  3.     public static void main(String[] args) {
  4.         // TODO Auto-generated method stub
  5.         步兵 land1 = new 步兵("步兵", 'a');
  6.         轻型坦克 land2 = new 轻型坦克("轻坦", 'c');
  7.         重型坦克 land3 = new 重型坦克("重坦", 'a');
  8.         直升机 plane1 = new 直升机("直飞", 'b');
  9.         轰炸机 plane2 = new 轰炸机("轰机", 'b');
  10.         飞行兵 plane3 = new 飞行兵("飞兵", 'd');
  11.         land1.攻击(plane1);
  12.         land1.攻击(plane2);
  13.         land1.攻击(plane3);
  14.         land1.攻击(land2);
  15.         land1.攻击(land3);
  16.     }
  17. }

人.java  
  1. //人.java
  2. public class 人 {
  3. }

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

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

飞行器.java 
  1. //飞行器.java
  2. public class 飞行器 {
  3. }

坦克.java  
  1. //坦克.java
  2. public class 坦克 {
  3. }

步兵.java 
  1. //步兵.java
  2. public class 步兵 extends 人 implements 陆军 {
  3.     String str;
  4.     char c;
  5.     public 步兵  (String str, char c){
  6.         this.str = str;
  7.         this.c = c;
  8.                 if(c == 'a' || c == 'A' || c == 'd' || c == 'D') {
  9.             this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
  10.         } else if(c == 'b' || c == 'B') {
  11.                         this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
  12.                 } else if(c == 'c' || c == 'C') {
  13.                         this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
  14.                 }
  15.     }
  16.     @Override
  17.     public void 攻击(Object obj) {
  18.         // TODO Auto-generated method stub
  19.         System.out.print(str + " 遇见 " + obj.toString() + ":");
  20.                 if(str.charAt(0) == obj.toString().charAt(0)) {
  21.                         System.out.println(" 不能攻击!");
  22.                 } else {
  23.                 if(obj instanceof 重型坦克)
  24.                 System.out.println("可以攻击陆军");
  25.                 else if(obj instanceof 轻型坦克)
  26.                     System.out.println("可以攻击陆军");
  27.                 else if(obj instanceof 步兵)
  28.                     System.out.println("可以攻击陆军");
  29.                 else
  30.                 System.out.println("不能攻击空军");
  31.                 }
  32.     }
  33.     @Override
  34.     public String toString() {
  35.         // TODO Auto-generated method stub
  36.         return str;
  37.     }
  38. }

轻型坦克.java
  1. //轻型坦克.java
  2. public class 轻型坦克 extends 坦克 implements 陆军 {
  3.     String str;
  4.     char c;
  5.     public 轻型坦克(String str, char c) {
  6.         this.str = str;
  7.         this.c = c;
  8.         if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
  9.             this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
  10.         } else if (c == 'b' || c == 'B') {
  11.             this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
  12.         } else if (c == 'c' || c == 'C') {
  13.             this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
  14.         }
  15.     }
  16.     @Override
  17.     public void 攻击(Object obj) {
  18.         // TODO Auto-generated method stub
  19.         System.out.print(str + " 遇见 " + obj.toString() + ":");
  20.         if (str.charAt(0) == obj.toString().charAt(0)) {
  21.             System.out.println(" 不能攻击!");
  22.         } else {
  23.             if (obj instanceof 重型坦克)
  24.                 System.out.println("可以攻击陆军");
  25.             else if (obj instanceof 轻型坦克)
  26.                 System.out.println("可以攻击陆军");
  27.             else if (obj instanceof 步兵)
  28.                 System.out.println("可以攻击陆军");
  29.             else
  30.                 System.out.println("不能攻击空军");
  31.         }
  32.     }
  33.     @Override
  34.     public String toString() {
  35.         // TODO Auto-generated method stub
  36.         return str;
  37.     }
  38. }

重型坦克.java  
  1. //重型坦克.java
  2. public class 重型坦克 extends 坦克 implements 陆军 {
  3.     String str;
  4.     char c;
  5.     public 重型坦克(String str, char c) {
  6.         this.str = str;
  7.         this.c = c;
  8.         if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
  9.             this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
  10.         } else if (c == 'b' || c == 'B') {
  11.             this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
  12.         } else if (c == 'c' || c == 'C') {
  13.             this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
  14.         }
  15.     }
  16.     @Override
  17.     public void 攻击(Object obj) {
  18.         // TODO Auto-generated method stub
  19.         System.out.print(str + " 遇见 " + obj.toString() + ":");
  20.         if (str.charAt(0) == obj.toString().charAt(0)) {
  21.             System.out.println(" 不能攻击!");
  22.         } else {
  23.             if (obj instanceof 重型坦克)
  24.                 System.out.println("可以攻击陆军");
  25.             else if (obj instanceof 轻型坦克)
  26.                 System.out.println("可以攻击陆军");
  27.             else if (obj instanceof 步兵)
  28.                 System.out.println("可以攻击陆军");
  29.             else
  30.                 System.out.println("不能攻击空军");
  31.         }
  32.     }
  33.     @Override
  34.     public String toString() {
  35.         // TODO Auto-generated method stub
  36.         return str;
  37.     }
  38. }

飞行兵.java
  1. //飞行兵.java
  2. public class 飞行兵 extends 人 implements 空军 {
  3.     String str;
  4.     char c;
  5.     public 飞行兵(String str, char c) {
  6.         this.str = str;
  7.         this.c = c;
  8.         if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
  9.             this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
  10.         } else if (c == 'b' || c == 'B') {
  11.             this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
  12.         } else if (c == 'c' || c == 'C') {
  13.             this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
  14.         }
  15.     }
  16.     @Override
  17.     public void 攻击(Object obj) {
  18.         // TODO Auto-generated method stub
  19.         System.out.print(str + " 遇见 " + obj.toString() + ":");
  20.         if (str.charAt(0) == obj.toString().charAt(0)) {
  21.             System.out.println(" 不能攻击!");
  22.         } else {
  23.             if (obj instanceof 重型坦克)
  24.                 System.out.println("可以攻击陆军");
  25.             else if (obj instanceof 轻型坦克)
  26.                 System.out.println("可以攻击陆军");
  27.             else if (obj instanceof 步兵)
  28.                 System.out.println("可以攻击陆军");
  29.             else
  30.                 System.out.println("可以攻击空军");
  31.         }
  32.     }
  33.     @Override
  34.     public String toString() {
  35.         // TODO Auto-generated method stub
  36.         return str;
  37.     }
  38. }

直升机.java  
  1. //直升机.java
  2. public class 直升机 extends 飞行器 implements 空军 {
  3.     String str;
  4.     char c;
  5.     public 直升机(String str, char c) {
  6.         this.str = str;
  7.         this.c = c;
  8.         if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
  9.             this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
  10.         } else if (c == 'b' || c == 'B') {
  11.             this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
  12.         } else if (c == 'c' || c == 'C') {
  13.             this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
  14.         }
  15.     }
  16.     @Override
  17.     public void 攻击(Object obj) {
  18.         // TODO Auto-generated method stub
  19.         System.out.print(str + " 遇见 " + obj.toString() + ":");
  20.         if (str.charAt(0) == obj.toString().charAt(0)) {
  21.             System.out.println(" 不能攻击!");
  22.         } else {
  23.             if (obj instanceof 重型坦克)
  24.                 System.out.println("可以攻击陆军");
  25.             else if (obj instanceof 轻型坦克)
  26.                 System.out.println("可以攻击陆军");
  27.             else if (obj instanceof 步兵)
  28.                 System.out.println("可以攻击陆军");
  29.             else
  30.                 System.out.println("可以攻击空军");
  31.         }
  32.     }
  33.     @Override
  34.     public String toString() {
  35.         // TODO Auto-generated method stub
  36.         return str;
  37.     }
  38. }

轰炸机.java  
  1. //轰炸机.java
  2. public class 轰炸机 extends 飞行器 implements 空军 {
  3.     String str;
  4.     char c;
  5.     public 轰炸机(String str, char c) {
  6.         this.str = str;
  7.         this.c = c;
  8.         if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
  9.             this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
  10.         } else if (c == 'b' || c == 'B') {
  11.             this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
  12.         } else if (c == 'c' || c == 'C') {
  13.             this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
  14.         }
  15.     }
  16.     @Override
  17.     public void 攻击(Object obj) {
  18.         // TODO Auto-generated method stub
  19.         System.out.print(str + " 遇见 " + obj.toString() + ":");
  20.         if (str.charAt(0) == obj.toString().charAt(0)) {
  21.             System.out.println(" 不能攻击!");
  22.         } else {
  23.             if (obj instanceof 重型坦克)
  24.                 System.out.println("可以攻击陆军");
  25.             else if (obj instanceof 轻型坦克)
  26.                 System.out.println("可以攻击陆军");
  27.             else if (obj instanceof 步兵)
  28.                 System.out.println("可以攻击陆军");
  29.             else
  30.                 System.out.println("可以攻击空军");
  31.         }
  32.     }
  33.     @Override
  34.     public String toString() {
  35.         // TODO Auto-generated method stub
  36.         return str;
  37.     }
  38. }





本文地址:http://liuyanzhao.com/3345.html

转载请注明



  • 微信
  • 交流学习,资料分享
  • weinxin
  • 个人淘宝
  • 店铺名:言曌博客咨询部

  • (部分商品未及时上架淘宝)
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0