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

141
Vistas
soy un nuevo aprendiz y no puedo entender por qué mi código no funciona

Recientemente comencé a codificar y elegí aprender JavaScript como mi primer idioma. He escrito un código para un juego de piedra, papel o tijera, pero aparecen resultados incorrectos cuando lo ejecuto. por ejemplo pondría mi respuesta como tijeras y la computadora elegiría roca y el juego saldría empatado.

 const getUserChoice = userInput => { if (userInput === 'rock' || userInput === 'paper' || userInput === 'scissors') { return userInput } else { return 'Error!' } } var getComputerChoice = () => { const randomNumber = Math.floor(Math.random() * 3); switch (randomNumber) { case 0: return 'rock' break; case 1: return 'paper' break; case 2: return 'scissors' break; } }; const determineWinner = (userChoice, computerChoice) => { if (userChoice === computerChoice) { return 'its a tie!'; }; if (userChoice === 'rock') { if (computerChoice === 'paper') { return 'computer won'; } else { return 'user won'; } } if (userChoice === 'paper') { if (computerChoice === 'scissors') { return 'computer won'; } else { return 'user won' } } if (userChoice === 'scissors') { if (computerChoice === 'rock') { return 'computer won'; } else { return 'user won' } } }; const playGame = () => { console.log(`player chose ${getUserChoice('scissors')}`); console.log(`computer chose ${getComputerChoice()}`); console.log(determineWinner(getUserChoice("scissors"), getComputerChoice())); } playGame();

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Tal vez haya más problemas, pero estos son algunos de ellos:

Cada vez que ejecuta getComputerChoice obtiene un valor diferente porque se selecciona un valor aleatorio dentro:

 console.log(`player chose ${getUserChoice('scissors')}`); console.log(`computer chose ${getComputerChoice()}`); console.log(determineWinner(getUserChoice("scissors"), getComputerChoice()));

Entonces, en su lugar, debe llamar y almacenar en variables:

 let playerChose = getUserChoice('scissors'); let computerChose = getComputerChoice(); let winner = determineWinner(playerChose, computerChose); console.log(`player chose ${playerChose}`); console.log(`computer chose ${computerChose}`); console.log(winner);

Puede hacerlo sin variables, pero asegúrese de no invocar getComputerChoice varias veces.

También userInput debe estar entre paréntesis en:

 const getUserChoice = (userInput) => {
about 4 years ago · Juan Pablo Isaza Denunciar

0

Cada vez que llame a getComputerChoice obtendrá un valor diferente, puede guardar los valores en una variable con la palabra clave const .

 const playGame = () => { // It would be nice if you request this to the user, with prompt const userChoice = getUserChoice('scissors'); // Save the random value const computerChoice = getComputerChoice(); console.log(`player chose ${userChoice}`); console.log(`computer chose ${computerChoice}`); // This will work console.log(determineWinner(userChoice, computerChoice)); } playGame();

Más información aquí

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