首页 > 解决方案 > 未正确评估将字符串值与用户输入进行比较

问题描述

// Computer randomly selects Rock, Paper / Scissors
        computerChoice = function computerPlay() {
            let r = Math.random() * 3;
            let choice;

            if(r > 2) {
                console.log('Rock');
                return 'rock';
            } else if (r > 1) {
                console.log('Scissors');
                return 'scissors';
            } else {
                console.log('Paper');
                return 'paper';
            }
        }


        //compare results
        function compareChoice(userChoice, computerChoice) {
            if (userChoice === computerChoice) {
            console.log('Draw')
            } else if(userChoice === 'paper') {
                if(computerChoice == 'scissors') {
                    console.log ('You lose, try again!')
                } else {
                    console.log('You win!')
                }
            } else if(userChoice === 'rock') {
                if(computerChoice === 'paper') {
                    console.log('You lose! Try again!')
                } else {
                    console.log('You win!')
                }
            } else if(userChoice === 'scissors') {
                if (computerChoice === 'rock') {
                    console.log('You Lose! Try again!')
                } else {
                    console.log('You win!')
                }
            }

        }



        function game() {
            let userChoice = prompt('Choose rock, paper, or scissors!');
            console.log('Your choice was ' + userChoice);
            computerChoice();
            compareChoice();
        }

        game();

你好!我正在尝试用Javascript为Odin项目完成一个简单的Rock,paper scissors项目,但是每当我尝试将字符串值与用户的输入进行比较时,它都会记录draw,这意味着它被评估为true第一个 if 语句,无论用户输入什么。我已经搜索过了,我不确定我做错了什么。任何帮助将不胜感激谢谢!

标签: javascriptcommand-line

解决方案


您需要将用户选择和计算机选择传递给 compareChoice。

    function game() {
        let userChoice = prompt('Choose rock, paper, or scissors!');
        console.log('Your choice was ' + userChoice);
        compareChoice(userChoice, computerChoice());
    }

推荐阅读