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

203
Visualizações
¿Hay alguna forma de acceder al valor de retorno de una función después de ejecutarla?

Lo siento, no pude ser específico en el título de la pregunta. Intentaré explicarlo mejor aquí. Tal vez sea una pregunta realmente tonta, pero comencé javascript hace unos días y ahora estoy tratando de implementar un pequeño juego de piedra, papel o tijera con una interfaz de usuario. ,

básicamente hay una función gameRound(playerInput, computerInput) cuando ejecuto esta función devuelve 0,1 o -1 dependiendo de quién ganó esta ronda y si hay empate. Necesito ejecutar esta función SOLAMENTE cuando se activa un evento de clic en un botón en mi página, así que inicialmente esto es lo que hice:

 const btns = document.querySelectorAll(".buttons"); btns.forEach(btn => btn.addEventListener("click", () => { (gameRound(btn.id,computerPlay())) }));

en mi html:

 <button id="Rock" class="buttons"><strong>Rock</strong></button> <button id="Paper" class="buttons"><strong>Paper</strong></button> <button id="Scissors" class="buttons"><strong>Scissors</strong></button>

Este código funciona para rondas individuales, pero se supone que debo declarar un ganador que alcance las 5 victorias primero, así que tengo otra función, mainGame, que rastrea la cantidad de victorias para el jugador y la computadora en un ciclo de tiempo como este:

 function mainGame(){ let roundNum = 0; let playerWins = 0; let computerWins = 0; while(playerWins < 5 && computerWins < 5){ const btns = document.querySelectorAll(".buttons"); btns.forEach(btn => btn.addEventListener("click", () => { (gameRound(btn.id,computerPlay())) })); //let thisRound = gameRound(playerInput, computerPlay()); if (thisRound > 0){ playerWins ++; roundNum ++; }else if (thisRound < 0){ computerWins ++; roundNum ++; }else{ roundNum ++; } console.log(`Round: ${roundNum} \nPlayer: ${playerWins} \nComputer: ${computerWins}`); } const final = document.querySelector('#results-container'); if(playerWins > computerWins){ final.textContent = "You Won!"; }else{ final.textContent = "You Lose!"; } } mainGame();

Pero ahora no puedo acceder al valor de retorno de la función gameRound sin ejecutarla por segunda vez y estoy atascado, ¿hay una solución fácil y obvia que no puedo ver o tengo que cambiar toda mi lógica para este juego?

¡Gracias!

about 4 years ago · Juan Pablo Isaza
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