岩石,纸张,sciccors,蜥蜴,spock javascript/html游戏

岩石,纸张,sciccors,蜥蜴,spock javascript/html游戏,javascript,html,Javascript,Html,我想根据大爆炸理论制作岩石、纸张、sciccors、蜥蜴、斯波克游戏。我在html中使用javascript来实现它 <button type='button' onclick='playGameame()'>Lets start!</button> <p id='userChoice'>You chose:</p> <p id='aiChoice'>Your friendly pc chose:</p&g

我想根据大爆炸理论制作岩石、纸张、sciccors、蜥蜴、斯波克游戏。我在html中使用javascript来实现它

    <button type='button' onclick='playGameame()'>Lets start!</button>
    <p id='userChoice'>You chose:</p>
    <p id='aiChoice'>Your friendly pc chose:</p>
    <p id='result'>The result is:</p>
        <script>
            function playGame(){
                var userChoice = prompt('What will be you choice of weapon?', 'rock, paper, scissors, lizard or spock'); 
                var aiChoice = Math.random();

                if (aiChoice < 0.2 ){
                    aiChoice = 'rock';
                } else if(aiChoice <= 0.4){
                    aiChoice = 'paper';
                } else if(aiChoice <= 0.6){
                    aiCoice = 'sciccors';
                } else if(aiChoice <= 0.8){
                    aiChoice = 'lizard';
                } else{
                    aiChoice = 'spock';
                }

                document.getElementById('userChoice').innerHTML = 'You chose: ' + userChoice;
                document.getElementById('aiChoice').innerHTML = 'Your friendly pc chose: ' + aiChoice;

                if (userChoice === aiChoice){
                    result = 'It\'s a tie!';
                } 
                <!-- ROCK -->
                else if (userChoice === 'rock'){
                    if (aiChoice === 'paper' || 'spock'){
                        result = 'You lose!';
                    } else {
                        result = 'You win!';
                    }
                }
                <!-- PAPER -->
                else if (userChoice === 'paper'){
                    if (aiChoice === 'lizard' || 'sciccors'){
                        result = 'You lose!';
                    } else {
                        result = 'You win!';
                    }
                }
                <!-- SCICCORS -->
                else if (userChoice === 'sciccors'){
                    if (aiChoice === 'spock' || 'rock'){
                        result = 'You lose!';
                    } else {
                        result = 'You win!';
                    }
                }
                <!-- LIZARD -->
                else if (userChoice === 'lizard'){
                    if (aiChoice === 'rock' || 'sciccors'){
                        result = 'You lose!';
                    } else {
                        result = 'You win!';
                    }
                }
                <!-- SPOCK -->
                else if (userChoice === 'spock'){
                    if (aiChoice === 'paper' || 'lizard'){
                        result = 'You lose!';
                    } else {
                        result = 'You win!';
                    }
                }

                var result = 
                document.getElementById('result').innerHTML = 'The result is: ' + result;
            }
        </script>
让我们开始吧!

您选择了:

您友好的pc选择:

结果是:

函数playGame(){ var userChoice=prompt(‘你会选择什么武器?’、‘石头、布、剪刀、蜥蜴还是斯波克’); var aiChoice=Math.random(); 如果(a选择<0.2){ Achoice=‘岩石’;
}else if(aiChoice您正在使用或不正确。您应该像这样重复变量:
if(aiChoice=='paper'| | aiChoice=='spock')

出现此问题的原因是以下形式的语句:

'paper' || 'spock'

计算结果为true。

if(aiChoice=='paper'| | |'spock')
应该是
if(aiChoice=='paper'| | aiChoice=='spock')
等等。我还会将所有内容重构为适当的对象,“蜥蜴”对象将具有“beats”属性,可以是其他类型的数组。然后,您只需检查“我的选择”胜过“他的选择”“。使代码更简洁。感谢您的回答,但我遇到了另一个问题。有时当“aiChoise”介于0.4和0.6之间时,它将打印实际值而不是“scissors”,有时它只打印“scissors”。对此有逻辑解释吗?啊,是的,这听起来非常合乎逻辑。谢谢c: