Aldo Francisco Castillo shared a link. 6 min
Hello, good! I appeal to you this time with two Java questions. I find myself doing a U laboratory for which I must store polar coordinates (x, y), for this I am using the code that I leave below, but at the time of testing it fails as it is in the image, which could be ?
The aux "coordinatesAux" list appears empty when I print it out of the if where I add elements to it.
Also, when adding elements, I change all the existing elements with the element that I am adding.
Code:
private ArrayList<ArrayList<Character>> constructor(int filas, int columnas, int seed, ArrayList<Pieza> piezas, int gamePieces)
{
ArrayList<ArrayList<Character>> newBoard = new ArrayList<>();
ArrayList<ArrayList<Integer>> coordenadasAux = new ArrayList<>();
ArrayList<ArrayList<Integer>> dondePonerGato = new ArrayList<>();
ArrayList<Integer> parOrdenado = new ArrayList<>();
ArrayList<ArrayList<Integer>> coordenadas;
Pieza pieza;
int numeroRandom;
int sumador;
int sumadorFilas;
int sumadorColumnas;
int verificador;
int aux;
int n = 0;
int aux2 = 1;
int gatos;
newBoard = inicializarTablero(filas, columnas);
while (n < gamePieces)
{
aux = 0;
gatos = 0;
verificador = 0;
numeroRandom = (int) ((Math.random() * (seed + aux2)) % 19);
pieza = piezas.get(numeroRandom);
coordenadas = pieza.coordenadas;
sumador = (int) (Math.random() * (seed + aux2));
sumadorFilas = sumador % filas;
sumadorColumnas = sumador % columnas;
for (int i = 0; i < filas; i++)
{
for (int j = 0; j < columnas; j++)
{
if (aux <= 3)
{
if (i == (coordenadas.get(0).get(aux) + sumadorFilas) && j == (coordenadas.get(1).get(aux)) + sumadorColumnas)
{
if (newBoard.get(i).get(j) == '#')
{
System.out.println("gato encontrado, verificador = 1");
verificador = 1;
aux++;
}
}
}
}
}
aux = 0;
if (verificador != 1)
{
System.out.println("//////////////////// iniciando busqueda de coordenadas ////////////////////");
for (int i = 0; i < filas; i++)
{
for (int j = 0; j < columnas; j++)
{
//System.out.println("n: " + n);
if (aux <= 3)
{
if (i == (coordenadas.get(0).get(aux) + sumadorFilas) && j == (coordenadas.get(1).get(aux) + sumadorColumnas))
{
System.out.println("i: " + i + "\n" + "j: " + j + "\n" + "coordenada fila: " + (coordenadas.get(0).get(aux) + sumadorFilas) + "\n" + "coordenada columna: " + (coordenadas.get(1).get(aux) + sumadorColumnas));
parOrdenado.add(i);
parOrdenado.add(j);
System.out.println("par ordenado: " + parOrdenado);
coordenadasAux.add(parOrdenado);
System.out.println("coordenadas aux: " + coordenadasAux);
parOrdenado.clear();
aux++;
gatos++;
}
//System.out.println("coordenadas Aux" + coordenadasAux);
}// fin if aux <= 3
//System.out.println("coordenadas Aux" + coordenadasAux);
}// fin for columnas
//System.out.println("coordenadas Aux" + coordenadasAux);
}// fin for filas
//System.out.println("coordenadas Aux" + coordenadasAux);
if ((coordenadasAux.size() % 4) != 0)
{
System.out.println("coordenadas aux: " + coordenadasAux);
coordenadasAux.clear();
System.out.println("coordenadas aux: " + coordenadasAux + " borrado");
}
else
{
System.out.println("coordenadas aux: " + coordenadasAux + "\ndonde Poner Gato: " + dondePonerGato);
dondePonerGato.addAll(coordenadasAux);
coordenadasAux.clear();
System.out.println("coordenadas aux: " + coordenadasAux + " copiadas\nen dondePonerGato: " + dondePonerGato + "\ny borradas");
}
}
if ((gatos % 4) == 0)
{
n++;
}
aux2++;
}
//newBoard = agregarGatos(newBoard, dondePonerGato);
return newBoard;
}
Errors:
//////////////////// iniciando busqueda de coordenadas ////////////////////
i: 8
j: 4
coordenada fila: 8
coordenada columna: 4
par ordenado: [8, 4]
coordenadas aux: [[8, 4]]
i: 9
j: 4
coordenada fila: 9
coordenada columna: 4
par ordenado: [9, 4]
coordenadas aux: [[9, 4], [9, 4]]
coordenadas aux: [[], []]
coordenadas aux: [] borrado
//////////////////// iniciando busqueda de coordenadas ////////////////////
i: 3
j: 3
coordenada fila: 3
coordenada columna: 3
par ordenado: [3, 3]
coordenadas aux: [[3, 3]]
i: 4
j: 3
coordenada fila: 4
coordenada columna: 3
par ordenado: [4, 3]
coordenadas aux: [[4, 3], [4, 3]]
coordenadas aux: [[], []]
coordenadas aux: [] borrado
//////////////////// iniciando busqueda de coordenadas ////////////////////
i: 9
j: 3
coordenada fila: 9
coordenada columna: 3
par ordenado: [9, 3]
coordenadas aux: [[9, 3]]
coordenadas aux: [[]]
coordenadas aux: [] borrado
//////////////////// iniciando busqueda de coordenadas ////////////////////
i: 3
j: 3
coordenada fila: 3
coordenada columna: 3
par ordenado: [3, 3]
coordenadas aux: [[3, 3]]
i: 3
j: 4
coordenada fila: 3
coordenada columna: 4
par ordenado: [3, 4]
coordenadas aux: [[3, 4], [3, 4]]
i: 4
j: 4
coordenada fila: 4
coordenada columna: 4
par ordenado: [4, 4]
coordenadas aux: [[4, 4], [4, 4], [4, 4]]
i: 5
j: 4
coordenada fila: 5
coordenada columna: 4
par ordenado: [5, 4]
coordenadas aux: [[5, 4], [5, 4], [5, 4], [5, 4]]
coordenadas aux: [[], [], [], []]
donde Poner Gato: []
coordenadas aux: [] copiadas
en dondePonerGato: [[], [], [], []]
y borradas
//////////////////// iniciando busqueda de coordenadas ////////////////////
coordenadas aux: []
donde Poner Gato: [[], [], [], []]
coordenadas aux: [] copiadas
en dondePonerGato: [[], [], [], []]
y borradas