Boa noite pessoal!
Estou com um problema que não consigo resolver…
Criei uma classe tabuleiro para um projeto de dama. Porém, criei uma classe chamada Movimento para preencher o tabuleiro com as primeiras peças e posteriormente, movimentar as peças.
Quando executo o metodo, não atribui as alterações no tabuleiro…
Segue o codigo:
package tabuleiro;
public class Tabuleiro {
private String[][] matriz;
private int tamanho = 10;
public Tabuleiro() {
tamanho++;
this.matriz = new String[tamanho][tamanho];
this.matriz[0][0] = " ";
for (int i = 0; i < tamanho; i++) {
for (int j = 0; j < tamanho; j++) {
matriz[i][j] = "-";
}
}
}
public void imprimeTab() {
System.out.println("\n 1 2 3 4 5 6 7 8 9 10 ");
for (int linha = tamanho - 1; linha > 0; linha--) {
if (linha < 10) {
System.out.println();
System.out.print(" " + linha + " ");
} else {
System.out.println();
System.out.print(" " + linha + " ");
}
for (int coluna = 1; coluna < tamanho; coluna++) {
System.out.print(" " + matriz[linha][coluna]);
}
System.out.println();
}
}
public String[][] getMatriz() {
return matriz;
}
public void setMatriz(String[][] matriz) {
this.matriz = matriz;
}
public int getTamanho() {
return tamanho;
}
}
=======
package tabuleiro;
import entidades.Peao;
public class Movimento {
private Tabuleiro tabuleiro = new Tabuleiro();
private Peao peao = new Peao();
public Movimento() {
}
public void colocarPecaNoTabuleiro() {
String[][] aux;
aux = tabuleiro.getMatriz();
for (int i = 2; i < tabuleiro.getTamanho() ; i += 2) {
aux[1][i] = "P1";
for (int j = 1; j < tabuleiro.getTamanho(); j += 2) {
aux[2][j] = peao.jogador1();
}
for (int v = 2; v < tabuleiro.getTamanho(); v += 2) {
aux[3][v] = peao.jogador1();
}
for (int x = 1; x < tabuleiro.getTamanho(); x += 2) {
aux[8][x] = peao.jogador2();
}
for (int h = 2; h < tabuleiro.getTamanho(); h += 2) {
aux[9][h] = peao.jogador2();
}
for (int b = 1; b < tabuleiro.getTamanho(); b += 2) {
aux[10][b] = peao.jogador2();
}
}
tabuleiro.setMatriz(aux);
}
}
====
package entidades;
import Enum.Cor;
public class Peao {
private Cor cor;
public Peao() {
}
public String jogador1() {
return "J1";
}
public String jogador2() {
return "J2";
}
public Cor getCor() {
return cor;
}
public void setCor(Cor cor) {
this.cor = cor;
}
}
====
package programa;
import tabuleiro.Movimento;
import tabuleiro.Tabuleiro;
public class Programa {
public static void main(String[] args) {
Tabuleiro tab = new Tabuleiro();
Movimento mov = new Movimento();
tab.imprimeTab();
mov.colocarPecaNoTabuleiro();
}
}
===
Alguem poderia me ajudar? O codigo não da nenhum erro, más não atribui as variaveis “P1” e “P2” no tabuleiro, só na variavel aux, como esta no codigo.
Tabuleiro:
1 2 3 4 5 6 7 8 9 10
10 - - - - - - - - - -
9 - - - - - - - - - -
8 - - - - - - - - - -
7 - - - - - - - - - -
6 - - - - - - - - - -
5 - - - - - - - - - -
4 - - - - - - - - - -
3 - - - - - - - - - -
2 - - - - - - - - - -
1 - - - - - - - - - -