Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

380
Vistas
¿Cómo puedo mostrar y ocultar imágenes en función de un generador de números aleatorios?

Estoy trabajando en un juego de carreras usando HTML, CSS y JavaScript. La progresión de la carrera estará determinada por un botón generador de números aleatorios en el que se hará clic para simular a los corredores. Aquí una imagen de la página:Página web de la carrera y aquí está el archivo app.js en progreso.

 let racers = [ { id: "racer1", count: 0 }, { id: "racer2", count: 0 }, { id: "racer3", count: 0 }, { id: "racer4", count: 0 }, { id: "racer5", count: 0 }, { id: "racer6", count: 0 }, { id: "racer7", count: 0 }, ]; // random number button function randNum() { const randomNumber = Math.floor(Math.random() * 7 + 1); document.getElementById("number").innerHTML = randomNumber; racers[randomNumber - 1].count++; // new test code // ONLY TO TEST IMAGE DISPLAY AND HIDE let car1 = document.getElementById("p1First"); if (car1.style.display === "none") { car1.style.display = "none"; } else { car1.style.display = "block"; } } console.log(racers);

En la consola, al hacer clic en el botón de número aleatorio, la propiedad de conteo se actualizará cuando tenga un resultado de un número determinado. Por ejemplo, si se hace clic en el botón del generador de números aleatorios y tiene un resultado de "4", racer4 ahora tendrá un conteo de "1". Esta lógica será consistente a lo largo de toda la carrera, ya que el usuario continúa haciendo clic en el botón hasta que un corredor gana, lo que significa que llegó a un conteo de "10" (al mostrar el número de ese jugador como resultado del generador un total de diez veces) .

Mi objetivo es mostrar las imágenes de cada corredor en el lugar correspondiente para mostrar el progreso que han hecho en la carrera. Entonces, si racer1 tiene un "conteo" de 4, muestre la cuarta imagen de racer1 (el auto) y oculte el resto de las imágenes de autos. Si racer2 tiene una cuenta de 6, muestra la sexta imagen de racer2 (el bote) y oculta el resto de las imágenes del bote. Quiero que solo muestre una imagen de cada corredor a la vez, para ilustrar su progreso. Esto continuará hasta que un corredor alcance un conteo de "10", y se mostrará la décima imagen, que se encuentra en la línea de meta del cuadro de cuadros.

No estoy seguro de por dónde empezar, solo sé que necesito implementar una lógica que permita que la propiedad de conteo "hable con" los elementos de la imagen. Tengo un extracto de código en mi app.js que muestra y oculta una de las imágenes cuando se hace clic en el botón, pero eso es solo una prueba para ver si era posible. Es probable que este extracto de código deba modificarse, moverse e incluso reemplazarse completamente por alguna otra sintaxis.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En lugar de tener varias imágenes, ¿por qué no colocas la imagen correspondiente a ese número? Por ejemplo, si la "pista" tiene una longitud de 100 px y el "conteo" es 3, calcule 3/10 * 100 para obtener la posición de la imagen escalada al tamaño de la pista.

Sin embargo, si no quieres hacerlo así, puedes darle a cada imagen un ID así:

 <img src="racer_1.jpg" id="racer_1_position_1" style='visibility:"hidden"'>

Esa imagen no aparecerá hasta que le digas que cambie su visibilidad por getElementById .

 function moveRacer(racerID, count) { document.getElementById(`racer_${racerID}_position_${count}`).style.visibility = "visible" }

Puede generar estas imágenes dinámicamente si lo desea también con un bucle.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda