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

206
Views
¿Resultado aleatorio y agregar mensaje final en piedra, papel o tijera?

Tengo una o dos preguntas sobre cómo "aleatorizar" un resultado en este juego cuando escribes exactamente la misma opción.

por ejemplo: estoy llamando a la función 5 veces y si escribo diferentes opciones (primero piedra, luego papel y luego tijera, etc.) está bien, arroja diferentes resultados aleatorios, pero si escribo uno de ellos tres o cinco veces , como por ejemplo, papel, arrojará el mismo resultado cada vez sin importar qué, y me gustaría tener resultados diferentes, ¿es esto posible sin usar bucles? Estoy siguiendo los cursos TOP y me gustaría no usar bucles hasta que llegue a esa parte.

Además, me gustaría saber si hay alguna forma de imprimir "Gana la máquina" o "Gana el humano" después de todos los intentos, dependiendo de quién gane, como un mensaje final para ganar o perder todas las rondas.

Aquí está el código:

 function computerPlay() { const choice = ["rock", "paper", "scissors"]; const choiceRandom = choice[Math.floor(Math.random() * choice.length)]; return choiceRandom; } function game(computerSelection, playerSelection) { playerSelection = prompt("Rock, paper or scissors?").toLowerCase(); if (computerSelection=="rock" && playerSelection=="scissors") { console.log("You lose, rock beats scissors"); } else if (computerSelection=="paper" && playerSelection=="scissors") { console.log("You win, scissors beats paper!"); } else if (computerSelection=="rock" && playerSelection=="paper") { console.log("You lose, rock beats paper!"); } else if (computerSelection=="paper" && playerSelection=="rock") { console.log("You lose, paper beats rock!"); } else if (computerSelection=="scissors" && playerSelection=="rock") { console.log("You win, rock beats scissors!"); } else if (computerSelection=="scissors" && playerSelection=="paper") { console.log("You lose, scissors beats paper!"); } else if (computerSelection===playerSelection) { console.log("Draw!"); } } const computerSelection = computerPlay(); let playerSelection game(computerSelection, playerSelection); game(computerSelection, playerSelection); game(computerSelection, playerSelection); game(computerSelection, playerSelection); game(computerSelection, playerSelection);

Estoy en blanco en esto, he estado tratando de resolverlo durante horas.

Gracias.

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

0

Con respecto a su pregunta sobre la aleatoriedad, parece que está configurando la selección de su computadora en un valor constante pasándola a la función de su juego, lo que significa que siempre será la misma.

Si coloca tanto ComputerSelection como PlayerSelection en la función de juego, ComputerSelection llamará a la función computerPlay cada vez que inicie un juego. En cuanto a la selección de jugadores, pertenece a la función porque es hasta donde debe extenderse el alcance.

Finalmente, puede envolver el interior de su función de juego en un bucle for y declarar dos variables machineWins y playerWins. Incrementa las ganancias para cada uno. Luego, al final de la función, puede tener una declaración if else que registrará su mensaje en función de quién tiene más ganancias.

 game() { let machineWins = 0; let playerWins = 0; for (let gamesPlayed = 0; gamesPlayed < 5; gamesPlayed++) { // game logic, if computer wins machineWins++, else playerWins++ } if (machineWins > playerWins) { // log machine wins } else { // log player wins } }
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!