我創造了我的學校項目遊戲色彩和權力,所以我在這裏不是任何形式的代碼,就如何做什麼,我試圖做一個全球性的想法...找到一種方法來處理在棋盤遊戲
我有塊,分別爲是自己的顏色和類型是這樣的:
片1 - 黃色 - 簡單
片2 - 黃色 - 爆炸
....
品10 - 藍 - ChangeColor
在開始遊戲會隨機片場從這個列表(列表C早期只有一種每件)reated,如果我們在一排有3個或更多的遊戲,以消除他們和計分,但如果3個(或以上的)有任何「權力效應」不是件arround必須對這種力量作出反應(很難用我的低英語水平解釋,但我認爲你得到了它:S ..)
現在我的遊戲只有簡單的部分,併爲此我使用和枚舉像這樣:
public enum CorPeca
{
AMARELO,
AZUL,
VERMELHO;
}
在板類我這樣做:
this.arrayPecas = new ArrayList<Peca>();
for (CorPeca corPeca : CorPeca.values())
this.arrayPecas.add(new Peca(corPeca));
,並在小品類我是d卷板機這
public Peca(CorPeca tipoPeca)
{
this.definirPeca(tipoPeca);
}
public CorPeca getCorPeca() { return this.corPeca; }
public char getCharPeca() { return this.charPeca; }
public void definirPeca(CorPeca tipoPeca)
{
switch (tipoPeca)
{
case AMARELO:
this.charPeca = 'a';
this.corPeca = CorPeca.AMARELO;
break;
case AZUL:
this.charPeca = 'u';
this.corPeca = CorPeca.AZUL;
break;
case VERMELHO:
this.charPeca = 'e';
this.corPeca = CorPeca.VERMELHO;
break;
}
}
但我想一個很好的方法可以輕鬆地添加這些「權力小品」的,但更重要的是,能夠在未來添加更多的色彩和更多的「權力」 ......
我在想創建子類,並使用延長,但整體思路只是因爲我們不能延長几類不我心中充滿...
因此,誰能給我如何我一個全球性的想法可以歸檔嗎?
你忘了指定'YellowPiece extends Piece'。您還應該添加'@ Override'註釋作爲最佳做法。 –
非常感謝您的幫助!真的^^(PS:這是葡萄牙語不是西班牙語,這是一個常見的錯誤沒有問題xD)。 只有一個問題,你的編碼是說每種顏色都有一個特定的力量?我怎樣才能定義一個不同的權力? – aliasbody
@aliasbody - 啊好的,也許我誤解了權力點....如果一塊可以有多個權力,那麼你可以在Piece內添加一個'powers' arraylist。然後,Power本身可以是一個抽象類,它有不同功率類型的多個子類。那麼你可以做一些像'piece.addPower(new ExplosionPower())'等等,希望這是有道理的?將做一些快速編輯回答 – mikera