集合經典一練——模擬一個軍隊作戰,軍隊裏面有各種兵,騎兵,步兵。每種兵的攻擊敵人方式不一樣。建立各種各樣的兵。

模擬一個軍隊作戰,軍隊裏面有各種兵,騎兵,步兵。每種兵的攻擊敵人方式不一樣。
建立各種各樣的兵。每種3個,至少3種,然後建立一個軍官。
軍官也會上場去攻擊敵人,但是軍官還有一種行爲,就是發號,軍官發號了,所有的兵,無論什麼兵都去戰場攻擊敵人。
最後程序運行效果就是一個軍官開始發號,然後所有的士兵包括軍官都去打仗,顯示每個人攻擊敵人的方式

package text;
import java.util.*;

public class Text_6 {
		public static void main(String[] args) {
			PeoPle PeoPle=new PeoPle();
			JuGuan juGuan=new JuGuan("軍官");
			AllBing b1=new QiBing("騎兵1");
			AllBing b2=new QiBing("騎兵2");
			AllBing b3=new QiBing("騎兵3");
			AllBing b4=new BuBing("步兵1");
			AllBing b5=new BuBing("步兵2");
			AllBing b6=new BuBing("步兵3");
			AllBing b7=new FlyBing("飛行兵1");
			AllBing b8=new FlyBing("飛行兵2");
			AllBing b9=new FlyBing("飛行兵3");
			PeoPle.addIt(juGuan);
			PeoPle.addIt(b1);
			PeoPle.addIt(b2);
			PeoPle.addIt(b3);
			PeoPle.addIt(b4);
			PeoPle.addIt(b5);
			PeoPle.addIt(b6);
			PeoPle.addIt(b7);
			PeoPle.addIt(b8);
			PeoPle.addIt(b9);
			juGuan.Say();
			PeoPle.display();
		}
}
abstract class AllBing {
		private String Type;
		public AllBing(String Type){
			this.Type=Type;
		}
		public String getType() {
			return Type;
		}
		public void setType(String type) {
			Type = type;
		}

	public abstract void atract();
}

class QiBing extends AllBing{
		public QiBing(String Type) {
			super(Type);
		}
		@Override
		public void atract() {
			System.out.println(this.getType()+"正在騎馬拿刀衝鋒攻擊敵人");//(騎馬率領人可佩戴手槍)
		}
}

class BuBing extends AllBing{
		public BuBing(String Type) {
			super(Type);
		}
		@Override
		public void atract() {
			System.out.println(this.getType()+"正在使用三八大蓋和手雷阻擊敵人");//(三八大蓋又俗稱 98K )
		}
}

class FlyBing extends AllBing{
		public FlyBing(String Type) {
			super(Type);
		}
		@Override
		public void atract() {
			System.out.println(this.getType()+"正在駕駛飛機空投核彈炸敵人");
		}
}

interface Signal{
		public void Say();
}

class JuGuan extends AllBing implements Signal{
		public JuGuan(String Type) {
			super(Type);
		}
		@Override
		public void Say() {
			System.out.println("軍官發號:所有人準備,拿出你們的勇氣,消滅敵人,給我殺,衝啊!");
		}
		@Override
		public void atract() {
			System.out.println(this.getType()+"軍官正在雙持手槍在中間殺敵");
		}
}

class PeoPle{
		ArrayList<AllBing> list=new ArrayList<AllBing>();
		public void addIt(AllBing ab){
			list.add(ab);
		}
		public void display(){
			Iterator<AllBing> it=list.iterator();
			while(it.hasNext()){
				it.next().atract();
			}
		}
}


在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章