Agora, ao invés de estado, chame o atributo de virada (como se fosse uma pergunta “virada?”)
Aí crie o método isVirada() e o método virar.
package jogoDaMemoria;
[code]
public class Carta {
boolean virada = false;
int naipe;
String caminho;
public int getNipe() {
return naipe;
}
public void setNipe(int naipe) {
this.naipe = naipe;
}
public Boolean isVirada() {
return virada;
}
public void virar() {
this.virada = !virada;
}
public String getCaminho() {
return caminho;
}
public void setCaminho(String caminho) {
this.caminho = caminho;
}
}[/code]
Veja, funcionalmente as duas classes funcionam e são equivalentes. Porém, é muito importante ter consistência no seu código. Ajuste essa última versão da classe no seu programa, e vamos começar a pensar na GameState.
Ah, e no próximo, poste o código com as tags code, para ficar colorido, assim como fiz aqui em cima.
Resta a dúvida de onde é a raiz do problema? Alunos? Professores? Condição social? Ensino médio? Fundamental? Não mamou? Faltou farofa? Talvez a máxima “cada caso é um caso” se aplique, mas de qualquer forma, me pergunto não são os professores mesmos que já não passam o “pulo do gato” por não acharem tão importante quanto a tecnologia/filosofia/metodologia/liguagem/whatever do momento ou se, assim como outros profissionais, estes também estão indo para o mercado de trabalho despreparados ou ainda por simplesmente nem ligarem mesmo, afinal isso não faz parte do conteúdo programático. :roll:
Errar, não entender e se corrigir faz parte do processo de aprendizado. O problema só se torna real se, alguém com o mesmo grau de capacitação dele, concluir a faculdade e chegar ao mercado de trabalho.
Quanto ao seu problema de criar as cartas através de um for:
[code]public class GameEngine extends Carta {
//Sempre marque suas propriedades internas como private
//Dê sempre nomes minúsculos aos atributos
//Procure dar nomes no plural para matrizes.
private Carta[][] cartas = new Carta[8][8];
public void Matriz() {
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
cartas[i][j] = new Carta();
}
}
}
public void VirarCarta(int linha, int coluna) {
cartas[linha][coluna].virar();
}
}[/code]