私は学校のプロジェクトのためにゲームを作成しているので、私はどんな種類のコードのためにもここにいるのではなく、私がやろうとしていることをどのように行うかについてのグローバルなアイデアです...
私はピースを持っており、各ピースは独自の色とタイプです:
ピース1-イエロー-シンプル
ピース2-イエロー-爆発物
....
ピース10-ブルー-ChangeColor
開始時に、ゲームはこのリスト(各ピースの1種類だけで以前に作成されたリスト)からランダムなピースを含むフィールドになります。ゲームが3つ以上連続している場合、それらを削除してポイントをカウントしますが、1つである場合3つ(またはそれ以上)のうち、周りのピースがそのパワーに反応しなければならないよりも「パワー効果」があります(私の低い英語レベルでは説明するのは難しいですが、あなたはそれを手に入れたと思います:S ..)
今のところ、私のゲームには単純な部分しかありませんでした。そのために、次のように列挙を使用しました。
public enum CorPeca
{
AMARELO,
AZUL,
VERMELHO;
}
ボードクラスで私はこれをやっていた:
this.arrayPecas = new ArrayList<Peca>();
for (CorPeca corPeca : CorPeca.values())
this.arrayPecas.add(new Peca(corPeca));
そしてPiecesクラスで私はこれをやっていた
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;
}
}
でも、それらの「パワーピース」を簡単に追加できる良い方法を考えていたのですが、それ以上に、将来的にはもっと色や「パワー」を追加できるようになりました...
サブクラスを作成してextendを使用することを考えていましたが、いくつかのクラスを拡張できないため、アイデア全体が頭に浮かびません...
それで、誰かが私にそれをアーカイブする方法についてのグローバルなアイデアを私に与えることができますか?