Alguém tem alguma sugestão?
qual a diferença dessa matriz pronta?
Mas você pode converter com:
String.valueOf(int)
Matriz pronta vai parar o while na classe principal.
Obrigada, vou tentar aqui.
não estou fazendo certo.
Pode me mostrar? eu fiz assim: matrizPronta[i][j] =String.valueof(int)cont;
Olá, boa tarde!
tente assim:
matrizPronta[i][j] =String.valueof(cont);
Deste jeito da ruim.
Perdão,
matrizPronta[i][j] = Integer.toString(cont)
Exemplo:
int i = 7;
String a = Integer.toString(i);
System.out.println("Valor convertido: " + a);
deu certo, porém os outras variáveis da matriz pronta ainda estão com erro porque fora do método.
Principalmente matrizPronta[3][3] = 0;
package jogoquebracabeca;
import java.util.Random;
import java.util.Scanner;
/*
-
To change this license header, choose License Headers in Project Properties.
-
To change this template file, choose Tools | Templates
-
and open the template in the editor.
*/
public class Tabuleiro extends Peca {private int[][] matriz = new int[4][4];
private String [][] matrizPronta = new String[4][4];
private int[] posicaov = new int[2];
private int[] posicaop = new int[2];
private int escolha;
Random rad = new Random();public void criartabuleiro() {
int cont = 1;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
matriz[i][j] = cont;
matrizPronta[i][j] = Integer.toString(cont);
cont++;
}
}
matriz[3][3] = 0;
matrizPronta[3][3] = 0;
}public int[][] getMatriz() {
return matriz;
}public int[][] getMatrizPronta() {
return matrizPronta;
}public void embaralhar() {
int index1;
int index2;
int aux;
int cont = 1;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {if (j == 3 && i == 3) { break; } index1 = rad.nextInt(3); index2 = rad.nextInt(3); aux = matriz[index1][index2]; matriz[index1][index2] = matriz[i][j]; matriz[i][j] = aux; } }
}
public void imprime() {
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
System.out.print(" " + matriz[i][j]);
}
System.out.println("");
}
}public void mover() {
posicaovazia();
switch (escolha) {
case 1://Mover para cima
{
if (verificacaomov(posicaov[0], posicaov[1], escolha)) {
int aux = matriz[posicaov[0]][posicaov[1]];
matriz[posicaov[0]][posicaov[1]] = matriz[posicaov[0] - 1][posicaov[1]];
matriz[posicaov[0] - 1][posicaov[1]] = aux;} break; } case 2://Mover para baixo { if (verificacaomov(posicaov[0], posicaov[1], escolha)) { int aux = matriz[posicaov[0]][posicaov[1]]; matriz[posicaov[0]][posicaov[1]] = matriz[posicaov[0] + 1][posicaov[1]]; matriz[posicaov[0] + 1][posicaov[1]] = aux; } break; } case 3://Mover para esquerda { if (verificacaomov(posicaov[0], posicaov[1], escolha)) { int aux = matriz[posicaov[0]][posicaov[1]]; matriz[posicaov[0]][posicaov[1]] = matriz[posicaov[0]][posicaov[1] - 1]; matriz[posicaov[0]][posicaov[1] - 1] = aux; } break; } case 4://Mover para direita { if (verificacaomov(posicaov[0], posicaov[1], escolha)) { int aux = matriz[posicaov[0]][posicaov[1]]; matriz[posicaov[0]][posicaov[1]] = matriz[posicaov[0]][posicaov[1] + 1]; matriz[posicaov[0]][posicaov[1] + 1] = aux; } break; } default: System.out.println("opção invalida"); break; }
}
public boolean verificacaomov(int linha, int coluna, int opcao) {
boolean valido = true;if (opcao == 1 && linha == 0) { System.out.println("Esse movimento é invalido."); valido = false; } if (opcao == 2 && linha == 3) { System.out.println("Esse movimento é invalido."); valido = false; } if (opcao == 3 && coluna == 0) { System.out.println("Esse movimento é invalido."); valido = false; } if (opcao == 4 && coluna == 3) { System.out.println("Esse movimento é invalido."); valido = false; } return valido;
}
public void setEscolha(int escolha) {
this.escolha = escolha;
}private void posicaovazia() {
int cont = 1;
for (int x = 0; x < 4; x++) {
for (int y = 0; y < 4; y++) {
if (matriz[x][y] == 0) {
posicaov[0] = x;
posicaov[1] = y;
}
}
}
}private void posicaopeca() {
int cont = 1;
for (int p = 0; p < 4; p++) {
for (int o = 0; o < 4; o++) {
if (matriz[p][o] == super.peca) {
posicaop[0] = p;
posicaop[1] = o;
}
}
}
}
}
Muito código ahha
Posta o erro?
matrizPronta[3][3] = 0; e public int[][] getMatrizPronta() {
return matrizPronta;
matrizPronta[3][3] = Integer.toString(0) ;
já resolvi problema.
matrizPronta[3][3] = “”;
OK!
Precisando tamos ai
obrigada, fiz isso agora rsrsrs
Maravilha! Marque como encerrado =)