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

196
Vistas
¿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 Respuestas
Responde la pregunta

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 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