模擬一個軍隊作戰,軍隊裏面有各種兵,騎兵,步兵。每種兵的攻擊敵人方式不一樣。
建立各種各樣的兵。每種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();
}
}
}