Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

164
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda