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

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

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