ayuda a colocar barcos please!
Publicado por Guillermo (5 intervenciones) el 22/01/2021 04:09:52
Hola buenas, estoy haciendo el juego de hundir la flota en java, y tengo un problemilla a la hora de colocar los barcos, y es que poniendolo el método así
me pinta el mapa correctamente y me pone en la posición (fila,columna) tal como muestra la imagen (mapa1)

como veis hay un for que esta comentado, que es el que intente poner para que pusiera a partir de la fila y columna indicada, el tamaño del barco, es decir, que ocupe 4, 3 ,2 o 1 casilla dependiendo del barco que sea, y lo que hace es que pone el tamaño del barco, pero no usa 3 posiciones del array, sino que usa una y la agranda, con el consiguiente desplazamiento del mapa. Ver imagen (mapa2)

podéis orientarme un poco por favor?, llevo toda la tarde atrancado ahí, y no consigo dar con la tecla... he de decir que llevo desde octubre aprendiendo a programar y aún no estoy muy suelto.
Gracias!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public void pintarConBarco(String[][] mapa, Barco b, int fila, int columna, int sentido) {
for (int i = 0; i < mapa.length; i++) {
for (int j = 0; j < mapa[i].length; j++) {
if (i == fila && j == columna) {
/*for (int tam = 0; tam < b.getTam(); tam++) {*/
System.out.print(b.getTipo()+" ");
/*}*/
} else {
System.out.print(mapa[i][j]+ " ");
}
}
System.out.println("");
}
}
me pinta el mapa correctamente y me pone en la posición (fila,columna) tal como muestra la imagen (mapa1)

como veis hay un for que esta comentado, que es el que intente poner para que pusiera a partir de la fila y columna indicada, el tamaño del barco, es decir, que ocupe 4, 3 ,2 o 1 casilla dependiendo del barco que sea, y lo que hace es que pone el tamaño del barco, pero no usa 3 posiciones del array, sino que usa una y la agranda, con el consiguiente desplazamiento del mapa. Ver imagen (mapa2)

podéis orientarme un poco por favor?, llevo toda la tarde atrancado ahí, y no consigo dar con la tecla... he de decir que llevo desde octubre aprendiendo a programar y aún no estoy muy suelto.
Gracias!
Valora esta pregunta


0