Me quedé atrapado en esto durante tanto tiempo, básicamente, es una computadora humana vs, escribo decir rock y me da, elige rock que ganas, incluso cuando elegí a los demás, todavía regrese, ¿puede alguien ayudarme a averiguar ¿Por qué sigue haciendo esto?

 let person = prompt ("Rock, Paper, Scissors");

 // Computer makes a choice
 function computerPlay () {
let compchoice = ['Rock', 'Paper', 'Scissors'];
return compchoice[Math.floor(Math.random() * 
compchoice.length)];
}

//Player vs Computer
function playRound (playerSelection, computerSelection) {
 if (playerSelection === 'Rock' || computerSelection === 
'Scissors') {
return 'You chose ' + playerSelection + ',' + ' You win!';
 } else if (playerSelection === 'Paper' || computerSelection === 
'Rock') 
{
return 'You chose ' + playerSelection + ',' + ' You win!';
 } else if (playerSelection === 'Scissors' || computerSelection === 
'Paper') 
{
return 'You chose ' + playerSelection + ',' + ' You win!';
 } else if (computerSelection === 'Rock' || playerSelection === 
'Scissors') 
{
return 'Computer chose ' + computerSelection + ',' + 'Computer 
wins!';
} else if (computerSelection === 'Paper' || playerSelection === 
'Rock') 
{
return 'Computer chose ' + computerSelection + ',' + 'Computer 
wins!';
} else if (computerSelection === 'Scissors' || playerSelection === 
'Paper') 
{
return 'Computer chose ' + computerSelection + ',' + 'Computer 
wins!';
} else if (computerSelection === playerSelection) {
return 'Its a draw!';
}else {
return 'Please chose Rock, Paper, or Scissors';
}
}

const playerSelection = 'rock';
const computerSelection = computerPlay();
console.log(playRound(playerSelection, computerSelection));

Simplemente debería jugar un juego regular de las tijeras de papel de roca, si elegí Rock y la computadora eligió papel, la computadora debería ganar. Por ahora estoy tratando de hacerlo jugar solo una ronda.

0
Christopher Altamirano 15 jul. 2019 a las 00:35

1 respuesta

La mejor respuesta

Estás usando las declaraciones or. Debe usar las declaraciones and. TOME, por ejemplo, su primera línea:

if (playerSelection === 'Rock' || computerSelection === 'Scissors') {
    return 'You chose ' + playerSelection + ',' + ' You win!';
} 

Está diciendo:

if playerSelection equals Rock OR computerSelection equals Scissors return 

Entonces, si los jugadoresElección es la roca, volverá allí. Lo que necesita usar es una declaración AND en su lugar. Prueba esto:

let playerSelection = prompt("Rock, Paper, Scissors");

// Computer makes a choice
function computerPlay() {
    let compchoice = ['Rock', 'Paper', 'Scissors'];
    return compchoice[Math.floor(Math.random() * compchoice.length)];
}

//Player vs Computer
function playRound(playerSelection, computerSelection) {
    if (playerSelection === 'Rock' && computerSelection === 'Scissors') {
        return 'You chose ' + playerSelection + ',' + ' You win!';
    } else if (playerSelection === 'Paper' && computerSelection === 'Rock') {
        return 'You chose ' + playerSelection + ',' + ' You win!';
    } else if (playerSelection === 'Scissors' && computerSelection === 'Paper') {
        return 'You chose ' + playerSelection + ',' + ' You win!';
    } else if (computerSelection === 'Rock' && playerSelection === 'Scissors') {
        return 'Computer chose ' + computerSelection + ',' + 'Computer wins!';
    } else if (computerSelection === 'Paper' && playerSelection === 'Rock') {
        return 'Computer chose ' + computerSelection + ',' + 'Computer wins!';
    } else if (computerSelection === 'Scissors' && playerSelection === 'Paper') {
        return 'Computer chose ' + computerSelection + ',' + 'Computer wins!';
    } else if (computerSelection === playerSelection) {
        return 'Its a draw!';
    } else {
        return 'Please chose Rock, Paper, or Scissors';
    }
}

//const playerSelection = 'Rock';
const computerSelection = computerPlay();
console.log(playRound(playerSelection, computerSelection));

También hubo un error tipográfico en la selección de su jugador en la tercera última línea. La cadena de laectura de jugadores debe ser capitalizada como las cuerdas que también se comparan.

1
Jerome 14 jul. 2019 a las 22:19