Java - Mostrar por pantalla un tablero

 
Vista:

Mostrar por pantalla un tablero

Publicado por C (7 intervenciones) el 21/11/2020 17:09:14
Alguien me puede decir porque no se muestra el tablero cuando llamo al método mostrarTableroEnPantalla() y como arreglarlo?
El código se compila bien, pero cuando lo ejecuto solo me aparece el mensaje de bienvenida y no el tablero
A continuación os dejo parte de las clases que uso

Clase buscaminas(main)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Buscaminas {
	private static Arbitro arbitro;
	private static Scanner scanner;
 
public static void main(String[] args) {
 
		mostrarMensajeBienvenida();
		inicializarPartida();
		mostrarTableroEnPantalla();
	}
 
private static void inicializarPartida() {
		// Inicializaciones
		arbitro = new Arbitro();
		// Abrimos la lectura desde teclado
		scanner = new Scanner(System.in);
	}
 
private static void mostrarTableroEnPantalla() {
		System.out.println(arbitro.consultarTablero().toString());
		System.out.println();
	}
}
Clase arbitro
1
2
3
4
5
6
7
8
9
10
11
12
public class Arbitro {
	private static Celda celda;
	private static Tablero tablero;
 
	public Arbitro() {
		tablero = new Tablero();
	}
 
	public Tablero consultarTablero() {
		return tablero;
	}
}
Clase tablero
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public class Tablero{
 
	public static final int FILAS = 8;
	public static final int COLUMNAS = 8;
 
	private Celda[][] tablero;
	Celda celda;
 
	/**
	 * Constructor de tablero
	 */
	public Tablero() {
		tablero = new Celda[FILAS][COLUMNAS];
			for(int i = 0; i < FILAS; i++) {
				for(int j = 0; j< COLUMNAS; i++) {
					celda = new Celda(i,j);
				}
			}
	}
 
         /**
	 * @return estado actual del tablero solo con las
	 * celdas descubiertas, y en las ocultas aparecera un " - "
	 */
	@Override
	public String toString() {
		String estadoActual = "";
 
		for (int i = 0; i < FILAS; i++) {
			estadoActual = i - 1 +"/t";
			for (int j = 0; j < COLUMNAS; j++) 	{
				estadoActual = " " + obtenerCelda()[i][j].obtenerTextoEstado() + " ";
				}
			estadoActual = "/n/n";
			estadoActual = "/t 0 1 2 3 4 5 6 7";
			}
		return estadoActual;
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Mostrar por pantalla un tablero

Publicado por C (7 intervenciones) el 21/11/2020 19:34:07
El método toString estaba mal hecho
Aquí dejo la corrección
Pero sigo sin saber como llamar a este método bien
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Override
public String toString() {
    String estadoActual = "";
 
    for (int i = 0; i < FILAS; i++) {
        estadoActual += i +"\t";
        for (int j = 0; j < COLUMNAS; j++) 	{
            estadoActual += " " + obtenerCelda()[i][j].obtenerTextoEstado()+ " ";
            }
        estadoActual += "\n";
        }
    estadoActual += "\n\n";
    estadoActual += "\t 0  1  2  3  4  5  6  7";
    return estadoActual;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mostrar por pantalla un tablero

Publicado por C (7 intervenciones) el 21/11/2020 23:26:28
En el constructor del tablero en el segundo for se crea un bucle infinito, ya que se incrementa la i en vez de la j por si alguien quiere saberlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar