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

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 转载请注明    

发表评论

目前评论:1