Boa Noite,
Estou a fazer um jogo não sei se vocês conhecem ou se lhe chamam outro nome, o jogo é bem simples temos 1 quadrado com 4 triângulos e apenas temos de jogar vermelho no vermelho e banco no branco, basicamente é isso, vejam a imagem que facilmente percebem como é o jogo e qual é o problema que eu estou a ter, já tentei por ifs dentro de ifs mas isto está complicado.
Vou colocar um pouco do código talvez me possam ajudar
public boolean jogarPeca(int linha, int coluna, int peca) {
jogar = false;
if (primeiro == true) {
tab[linha][coluna] = peca;
primeiro = false;
jogar = true;
} else {
if(Direita(linha, coluna, peca) || Esquerda(linha, coluna, peca) || Baixo(linha, coluna, peca) || Cima(linha, coluna, peca)){
jogar = true;
}
}
return jogar;
}
public boolean Esquerda(int linha, int coluna, int peca) {
boolean teste = false;
if (tab[linha][coluna] == 0 && peca == 1 && (tab[linha][coluna + 1] == 1 || tab[linha][coluna + 1] == 2 || tab[linha][coluna + 1] == 3 || tab[linha][coluna + 1] == 4 || tab[linha][coluna + 1] == 6 || tab[linha][coluna + 1] == 7 || tab[linha][coluna + 1] == 13)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 2 && (tab[linha][coluna + 1] == 1 || tab[linha][coluna + 1] == 2 || tab[linha][coluna + 1] == 3 || tab[linha][coluna + 1] == 4 || tab[linha][coluna + 1] == 6 || tab[linha][coluna + 1] == 7 || tab[linha][coluna + 1] == 13)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 3 && (tab[linha][coluna + 1] == 5 || tab[linha][coluna + 1] == 8 || tab[linha][coluna + 1] == 9 || tab[linha][coluna + 1] == 10 || tab[linha][coluna + 1] == 11 || tab[linha][coluna + 1] == 12 || tab[linha][coluna + 1] == 14)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 4 && (tab[linha][coluna + 1] == 1 || tab[linha][coluna + 1] == 2 || tab[linha][coluna + 1] == 3 || tab[linha][coluna + 1] == 4 || tab[linha][coluna + 1] == 6 || tab[linha][coluna + 1] == 7 || tab[linha][coluna + 1] == 13)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 5 && (tab[linha][coluna + 1] == 1 || tab[linha][coluna + 1] == 2 || tab[linha][coluna + 1] == 3 || tab[linha][coluna + 1] == 4 || tab[linha][coluna + 1] == 6 || tab[linha][coluna + 1] == 7 || tab[linha][coluna + 1] == 13)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 6 && (tab[linha][coluna + 1] == 5 || tab[linha][coluna + 1] == 8 || tab[linha][coluna + 1] == 9 || tab[linha][coluna + 1] == 10 || tab[linha][coluna + 1] == 11 || tab[linha][coluna + 1] == 12 || tab[linha][coluna + 1] == 14)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 7 && (tab[linha][coluna + 1] == 5 || tab[linha][coluna + 1] == 8 || tab[linha][coluna + 1] == 9 || tab[linha][coluna + 1] == 10 || tab[linha][coluna + 1] == 11 || tab[linha][coluna + 1] == 12 || tab[linha][coluna + 1] == 14)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 8 && (tab[linha][coluna + 1] == 1 || tab[linha][coluna + 1] == 2 || tab[linha][coluna + 1] == 3 || tab[linha][coluna + 1] == 4 || tab[linha][coluna + 1] == 6 || tab[linha][coluna + 1] == 7 || tab[linha][coluna + 1] == 13)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 9 && (tab[linha][coluna + 1] == 1 || tab[linha][coluna + 1] == 2 || tab[linha][coluna + 1] == 3 || tab[linha][coluna + 1] == 4 || tab[linha][coluna + 1] == 6 || tab[linha][coluna + 1] == 7 || tab[linha][coluna + 1] == 13)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 10 && (tab[linha][coluna + 1] == 5 || tab[linha][coluna + 1] == 8 || tab[linha][coluna + 1] == 9 || tab[linha][coluna + 1] == 10 || tab[linha][coluna + 1] == 11 || tab[linha][coluna + 1] == 12 || tab[linha][coluna + 1] == 14)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 11 && (tab[linha][coluna + 1] == 1 || tab[linha][coluna + 1] == 2 || tab[linha][coluna + 1] == 3 || tab[linha][coluna + 1] == 4 || tab[linha][coluna + 1] == 6 || tab[linha][coluna + 1] == 7 || tab[linha][coluna + 1] == 13)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 12 && (tab[linha][coluna + 1] == 5 || tab[linha][coluna + 1] == 8 || tab[linha][coluna + 1] == 9 || tab[linha][coluna + 1] == 10 || tab[linha][coluna + 1] == 11 || tab[linha][coluna + 1] == 12 || tab[linha][coluna + 1] == 14)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 13 && (tab[linha][coluna + 1] == 5 || tab[linha][coluna + 1] == 8 || tab[linha][coluna + 1] == 9 || tab[linha][coluna + 1] == 10 || tab[linha][coluna + 1] == 11 || tab[linha][coluna + 1] == 12 || tab[linha][coluna + 1] == 14)) {
tab[linha][coluna] = peca;
teste = true;
} else if (tab[linha][coluna] == 0 && peca == 14 && (tab[linha][coluna + 1] == 5 || tab[linha][coluna + 1] == 8 || tab[linha][coluna + 1] == 9 || tab[linha][coluna + 1] == 10 || tab[linha][coluna + 1] == 11 || tab[linha][coluna + 1] == 12 || tab[linha][coluna + 1] == 14)) {
tab[linha][coluna] = peca;
teste = true;
}
return teste;
}
Obrigado


