Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

228
Views
Tuve algunos problemas con el juego de piedra, papel o tijera para el proyecto Odin

principiante completo aquí y he estado haciendo el curso de fundamentos en Odin Project y más específicamente el juego de piedra, papel o tijera en javascript. He estado tratando de hacer la función del juego con bucles para repetir las rondas hasta que alguien gane y tenga algunos problemas. Mientras jugaba con los bucles y cambiaba de while a if y for, estuve a punto de rendirme y preguntar aquí. Sin embargo, hice que funcionara un poco, aunque no es del todo cierto, ya que no puedes cancelar el juego y en realidad no tiene 5 rondas, sino que utiliza un enfoque diferente. Este es mi código:

Editar: la penúltima oración fue básicamente mi pregunta, probé enfoques para hacer rondas, hacer rondas variables y luego ponerlo en bucle for, sin embargo, el bucle cuenta las rondas hasta cinco sin asegurarse de que el jugador y la puntuación de la computadora tengan alcanzaron su objetivo, y el hecho de que olvidé agregar la opción de empate. Intenté arreglar eso agregando condicionales, pero se complicó muy rápido y me perdí, lo borré e hice esto. La opción de cancelar nunca se me ocurrió hasta que comencé a hacer esta pregunta.

 let playerScore = 0; let computerScore = 0; // gives a random value from the array function computerPlay() { let choice = ['rock', 'paper', 'scissors']; let randomPlay = Math.floor(Math.random() * choice.length); return choice[randomPlay] } // plays a round of a game function round() { let computerChoice = computerPlay(); let playerChoice = prompt('What do you choose?', ''.toLowerCase()); if (playerChoice === 'rock' & computerChoice === 'paper') { computerScore += 1; alert('You lose, paper beats rock!'); } else if (playerChoice === 'paper' & computerChoice === 'scissors') { computerScore += 1; alert('You lose, scissors beat paper!'); } else if (playerChoice === 'scissors' & computerChoice === 'paper') { computerScore += 1; alert('You lose, rock beats scissors!'); } else if (playerChoice === 'rock' & computerChoice === 'scissors') { playerScore += 1; alert('You win, rock beats scissors!'); } else if (playerChoice === 'paper' & computerChoice === 'rock') { playerScore += 1; alert('You win, paper beats rock!'); } else if (playerChoice === 'scissors' & computerChoice === 'paper') { playerScore += 1; alert('You win, scissors beat paper!'); } if (playerScore >= 3) { alert('You win the game!') } else if (computerScore >= 3) { alert('Computer wins the game!') } } //repeats rounds until someone wins the game function game() { for (i = 1; playerScore < 3 && computerScore < 3; i++) { round(); } } game();

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Recomendaría usar un sistema de matriz para Rock paper scissor, ya que es más conciso y rápido que usar bucles.

 const checker_arr = [['Tie', 'Lost', 'Won'],['Won', 'Tie', 'Lost'],['Lost', 'Won', 'Tie']];
  • 0 es roca
  • 1 es papel
  • 2 es tijera

Entonces, si el usuario elige 0 (que es roca) y la computadora elige 2 (tijera), entonces el usuario gana.

Github: mira esto para ver el código en vivo

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!