insertar elementos en una matriz en posiciones aleatorias
Publicado por David (2 intervenciones) el 29/12/2014 13:48:33
Hola buenas, estoy desarrollando el juego de "hundir la flota" o "batalla naval" en java swing y quiero hacer que aparezcan los barcos aleatoriamente en el tablero, en este caso es un panel gridLayout de 8 filas y 8 columnas que contiene botones, el tema es que intento asignar un índice aleatorio pero al hacerlo se seleccionan varios índices, mi código para ello es el siguiente:
Donde b1 es la matriz y barco es una imagen que le añado al botón para que se vea que es un barco
Al ejecutarlo el resultado no es el esperado, ya que me selecciona muchos botones como barcos y solo quiero añadir un botón como barco.
Para ello he probado lo siguiente:
Y de esta manera si me coloca un solo barco, pero siempre me lo coloca en la posición b1[0][0].
Espero que podáis ayudarme un poco.
Muchas gracias y un saludo! :D
1
2
3
4
5
for(int ri=new Random().nextInt(8);ri<b1.length;ri++){
for(int rj=new Random().nextInt(8);rj<b1.length;rj++){
b1[ri][rj].setIcon(barco);
}
}
Donde b1 es la matriz y barco es una imagen que le añado al botón para que se vea que es un barco
Al ejecutarlo el resultado no es el esperado, ya que me selecciona muchos botones como barcos y solo quiero añadir un botón como barco.
Para ello he probado lo siguiente:
1
2
3
4
5
for(int ri=new Random().nextInt(8);ri<b1.length;ri++){
for(int rj=new Random().nextInt(8);rj<b1.length;rj++){
b1[new Random().nextInt(1)][new Random().nextInt(1)].setIcon(barco);
}
}
Y de esta manera si me coloca un solo barco, pero siempre me lo coloca en la posición b1[0][0].
Espero que podáis ayudarme un poco.
Muchas gracias y un saludo! :D
Valora esta pregunta


0