Sigo obteniendo 'ganancias en papel' cuando ingreso 'rock' como mi elección.
function game() { pChoice = prompt('What is your play?'); cChoice = ['rock','paper','scissor']; let compChoice = [Math.floor(Math.random() * cChoice.length)]; console.log(compChoice); function compare(pChoice, compChoice) { if (pChoice === compChoice) { alert( "It's a tie" ); } if (pChoice === 'rock') { if (compChoice === 'scissor') { return 'rock wins'; } else { return 'paper wins'; } } else if (pChoice === 'paper') { if (compChoice === 'rock') { return 'paper wins'; } else { return 'scissor wins'; } } else if (pChoice === 'scissor') { if (compChoice === 'paper') { return 'scissor wins'; } else { return 'rock wins'; } } } var result = compare(pChoice, compChoice); console.log(compare(pChoice, compChoice)); } game();Nunca asigna cChoice a un valor, sino que lo asigna a una matriz con un número.
Por ejemplo:
// Assigning to [number] let compChoice = [Math.floor(Math.random() * cChoice.length)]; // Assigning to string inside of array cChoice let compChoice = cChoice[Math.floor(Math.random() * cChoice.length)];