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

166
Vistas
Estoy haciendo un simple juego de clicker en javascript pero una de las funciones no parece estar funcionando. ¿Puede alguien ayudarme a arreglarlo?

Tengo este problema con un juego de clicker que tengo. Entonces, básicamente, lo que estoy tratando de hacer que haga el juego es que una vez que el jugador haya obtenido 200 puntos, el jugador tiene la capacidad de desbloquear o revelar los nuevos clickers. Pero por alguna razón, incluso si tiene 0 puntos, puede desbloquear los nuevos clickers. ¿Puede alguien ayudarme con esto? Gracias

Código de clic de Javascript:

 let totalclicks = 0; let superclicker1 = document.getElementById("superclicker1") let pointsEl = document.getElementById("points-el") function clicker1() { totalclicks = totalclicks + 5; pointsEl.textContent = "Total Points: " + totalclicks }

Javascript desbloquear nuevo código clicker

 function rebirth() { if (totalclicks >= 200) { } else if (superclicker1.style.display === "none") { superclicker1.style.display = "block"; } else if (superclicker1.style.display = "none") { } else { alert("Need 200 points to win.") } }

Html para el clicker

 <p id="points-el">Total Points: </p> <button onclick="clicker1()">Five Point Per Click </button>

Html para la función que desbloquea los siguientes clickers:

 <button id="superclicker1" onclick="superclicker10()">Rebirth </button>
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

  1. Sugiero usar nombres más representativos para las variables de sus elementos. Hace que su código sea más legible.

  2. Creo que quieres llamar a rebirth desde el botón de renacimiento.

  3. Su declaración if debe estar anidada. "Si el total es igual o superior a 200, cambie el estilo según la condición anidada; de lo contrario, avise el mensaje.

 let totalclicks = 0; const pointsEl = document.getElementById('points-el'); const rebirthEl = document.getElementById('rebirth'); function addFive() { totalclicks = totalclicks + 5; pointsEl.textContent = "Total Points: " + totalclicks; } function superclicker() { // Missing code } function rebirth() { if (totalclicks >= 200) { if (rebirthEl.style.display === 'none') { rebirthEl.style.display = 'block'; } else { rebirthEl.style.display = 'none'; } } else { console.log("Need 200 points to win.") } }
 <p id="points-el">Total Points: </p> <button onclick="addFive()">Five Point Per Click</button> <button id="rebirth" onclick="rebirth()">Rebirth</button>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esta linea es donde esta el problema

 } else if (superclicker1.style.display = "none") {

Single = se utilizan para la asignación, no para los controles condicionales. Probablemente desee == o === para una verificación estricta de tipos.

Dado que está utilizando la asignación = , entonces la declaración else if siempre se resolverá como true . Así que tu lógica se ve así:

 if (false) { } else if (false) { } else if (true) { // this block will always be triggered } else { }

Tal vez estabas buscando algo como:

 if (totalclicks >= 200) { if (superclicker1.style.display === "none") { superclicker1.style.display = "block"; } else { superclicker1.style.display = "none"; } } else { alert("Need 200 points to win.") }
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