Continuo precisando de ajuda, eu estou perdido aqui…
Criei a matriz_mae de 100x100x3x3
Criei as regras do jogo que é mover peça para cima/baixo/esquerda/direita
sempre que é possivel uma movimentação eu recebo um flag de sucesso=true
Então no endereço zero da matriz_mae eu coloco a primeira matriz, por exemplo 156
408
237
E aplico as regras de movimentação, no caso temos visivelmente 4, e vou quardar na proxima linha da matriz_mae.
E depois preciso recuperar estes matrizes e applicar as regras e quardar nas proximas linhas, e depois vou fazendo isto até eu achar a resposta, porem estou meio perdido em como fazer isto isto, o programa tem que ficar num loop até achar a resposta, mas estou perdido…alguem pode me ajudar nisto ???
O programa que fiz, ficou assim, mas da erro na matriz_mae
mas só para começar da o seguinte erro:
java.lang.ArrayIndexOutOfBoundsException: 100
sendo que l_m e c_m apontam aonde eu estou gravando e l_m1 e c_m1 apontam aonde eu estou lendo (isto é uma linha para cima)
[code]while(terminou==false)
{
l_m++;
while (c_m1 < 10) {
while (c_m < 10) {
move_cima(matriz);
matriz_compara(matriz);
grava_matriz_mae(matriz);
c_m++;
matriz_original(matriz);
move_baixo(matriz);
matriz_compara(matriz);
grava_matriz_mae(matriz);
c_m++;
matriz_original(matriz);
move_esquerda(matriz);
matriz_compara(matriz);
grava_matriz_mae(matriz);
c_m++;
move_direita(matriz);
move_baixo(matriz);
matriz_compara(matriz);
grava_matriz_mae(matriz);
c_m++;
}
c_m1++;
le_mae(matriz_mae[l_m1][c_m1]);
matriz_original(matriz);
}
l_m1++;
c_m1=0;
c_m=0;
le_mae(matriz_mae[l_m1][c_m1]);
matriz_original(matriz);
}
[/code]
Por favor alguem me de uma luz
celibertojr,
O argumento do seu while está para < 100, como vc sempre salva numa possição pra frente, isso não teria que ser < 99 não?
Veja o erro: java.lang.ArrayIndexOutOfBoundsException: 100
Isso indica q vc tá tentando usar uma posição q não existe…
[]'s
carisio
cara, eu nao olhei teu código, esse teu problema é bem chatinho mesmo, tu ta lidando com matrizes muito grandes… e estou na correria aqui atrasado, hehehe, bem, posso te dizer q a exceção ArrayIndexOutOfBoundsException quer dizer q tu ta tentando acessar um elemento da matriz q não existe, por exemplo, se tu tem uma matrix de 0 a 5 int, tu ta tentando acessar o elemento matriz[5]…
celibertojr,
acabei lendo seu programa errado, vi um < 100 lá não sei onde, desculpe.
Mas o erro q está dando é pq vc tá tentando acessar uma posição q não existe.
Como vc disse q vc tá salvando numa linha próxima a matriz, certifique-se de q vc esteja percorrendo a matriz até < tamanho -1, para garantir de q vc esteja numa posição válida no array.
Se quiser pode me mandar o código por e-mail q eu olho ele pra vc.
Falou,
carisio
[quote=“carisio”]celibertojr,
acabei lendo seu programa errado, vi um < 100 lá não sei onde, desculpe.
Mas o erro q está dando é pq vc tá tentando acessar uma posição q não existe.
Como vc disse q vc tá salvando numa linha próxima a matriz, certifique-se de q vc esteja percorrendo a matriz até < tamanho -1, para garantir de q vc esteja numa posição válida no array.
Se quiser pode me mandar o código por e-mail q eu olho ele pra vc.
Falou,
carisio[/quote]
Lhe mando sim
Tentei diminuir e mudar os endereços da matriz, mas nao muda nada…o problema continua
Este programa precisa vericar mais ou menos umas 400.000 possibilidades de matrizes…se ele conseguir umas 100 tô feliz…heheh
Eu já tentei implementar por arvores ( o recomentado) mas eu nao entendi nada…acabei seguindo a ideia do meu professor fazer por matriz…mas aiaiai…tá complicado…