Estoy luchando para seleccionar aleatoriamente algunos divs (9 en este caso) para colocar bombas/minas para esos mosaicos seleccionados.
Mi código para esto es:
function place_mines() { if (document.getElementById("difficulty").selectedIndex == "2") { for (var u = 0; u < 8; u++) { } } }
Inspeccionó el elemento, cuadrícula que contiene todos los mosaicos.
Yo usaría un enfoque diferente. Haría una lista de objetos de mosaico y generaría el html de la lista. Esto le permite marcar un objeto como bomba sin revelarlo al usuario agregándolo como nombre de clase.
Después de generar la lista, puede tomar un subconjunto aleatorio y marcarlo como bombas. Podría usar este enfoque, por ejemplo: Muestrear un subconjunto aleatorio de una matriz .
Le sugiero que le dé una identificación a los mosaicos, para luego generar una identificación aleatoria y asignar la identificación generada a los mosaicos
Lo que funcionó para mí fue que agregué un contador para indexar los elementos. Después de eso, hizo una matriz de 9 números aleatorios de 0 a 80 (el contador comienza en 0), verificó si la identificación de la ficha seleccionada está en esa matriz, si fue así, esa ficha tiene una mina, de lo contrario es una ficha normal.
tile.setAttribute("id",counter);counter++;