Я создаю игру для своего школьного проекта, поэтому я не здесь для какого-либо кода, просто глобальная идея о том, как делать то, что я пытаюсь сделать ...Поиск способа обработки цветов и мощности на настольной игре
у меня есть кусочки и каждый кусочек как собственный цвет и тип, как это:
часть 1 - Желтый - Простой
часть 2 - желтый - Взрывное
....
шт 10 - Синий - ChangeColor
В начале игры будет поле со случайными фрагментами из этого списка (список c если у нас есть 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;
}
}
Но я думал хороший метод легко добавить эти «Power Пьесы», но более того, будучи в состоянии добавить больше цветов и больше «Полномочия» в будущем ...
Я думал о создании подклассов и использовании расширения, но вся идея просто не заполняет мой разум, поскольку мы не можем расширять несколько классов ...
Так может кто-нибудь дать мне глобальную идею о том, как я может архивировать это?
Вы забыли указать, что 'YellowPiece расширяет Piece'. Вы также должны добавить примечания '@ Override' в качестве хорошей практики. –
Большое вам спасибо за помощь! Действительно ^^ (PS: Это португальский, не испанский, это распространенная ошибка без проблем xD). Только один вопрос, ваше кодирование говорит, что у каждого цвета есть определенная мощность нет? Как я могу определить тогда разную силу? – aliasbody
@aliasbody - а-а-а-а-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-э-а-а, возможно, я неправильно понял суть сил .... если часть может иметь несколько полномочий, Тогда Power сама может быть абстрактным классом, который имеет несколько подклассов для разных типов питания. то вы можете сделать что-то вроде 'piece.addPower (new ExplosionPower()) и т. д., надеюсь, это имеет смысл? сделаю некоторые быстрые изменения для ответа – mikera