任何人都可以告诉我这个代码有什么问题

时间:2014-02-16 17:03:58

标签: javascript html

<html>
<head>
<script>
var userChoice=prompt("rock, paper or scissors ??");
var pcChoice=Math.random();
console.log(pcChoice);
if(pcChoice<=0.33){
    pcChoice="rock";
}
else if(pcChoice>=0.34 && pcChoice<=0.66){
    pcChoice="paper";
}
else{
    pcChoice="scissors";
}

var compare=function(choice1,choice2){
if(choice1=choice2){
    alert("it's a tie");
}
else if(choice1==="rock"){
    if(choice2==="scissors"){
        alert("rock wins");
    }
    else{
    alert("paper wins");
    }
}
else if(choice1===="paper"){
    if(choice2==="rock"){
        alert("paper wins");
    }
    else{
        alert("scissors wins");
    }
}
    else if(choice1===="scissors"){
    if(choice2==="paper"){
        alert("scissors wins");
    }
    else{
        alert("rock wins");
    }
}

}
compare(userChoice,pcChoice);
</script>
</head>
<body>
</body>
</html>
这是一款简单的石头剪刀游戏 我打开了页面,但javascript没有启动警报框,这意味着我的代码有问题 请任何帮助都会很棒 我是javascript的初学者,但我对html和css有很好的了解(根本没有帮助) 你能查看这段代码并告诉我这个问题吗

3 个答案:

答案 0 :(得分:1)

没有像====这样的运算符你需要修复它们并且它有效。啊,如果条件总是返回true,你也有=检查JSFiddle

var userChoice=prompt("rock, paper or scissors ??");
var pcChoice=Math.random();
console.log(pcChoice);
if(pcChoice<=0.33){
    pcChoice="rock";
}
else if(pcChoice>=0.34 && pcChoice<=0.66){
    pcChoice="paper";
}
else{
    pcChoice="scissors";
}

var compare=function(choice1,choice2){
if(choice1==choice2){
    alert("it's a tie");
}
else if(choice1==="rock"){
    if(choice2==="scissors"){
        alert("rock wins");
    }
    else{
    alert("paper wins");
    }
}
else if(choice1==="paper"){
    if(choice2==="rock"){
        alert("paper wins");
    }
    else{
        alert("scissors wins");
    }
}
    else if(choice1==="scissors"){
    if(choice2==="paper"){
        alert("scissors wins");
    }
    else{
        alert("rock wins");
    }
}

}
compare(userChoice,pcChoice);

答案 1 :(得分:1)

在第一个if语句中使choice1 === choice2。

答案 2 :(得分:1)

我已将您的脚本修改为此。请尝试使用此

var userChoice=prompt("rock, paper or scissors ??");
var pcChoice=Math.random();
console.log(pcChoice);
if(pcChoice<=0.33){
    pcChoice="rock";
}
else if(pcChoice>=0.34 && pcChoice<=0.66){
    pcChoice="paper";
}
else{
    pcChoice="scissors";
}

var compare=function(choice1,choice2){
if(choice1==choice2){
    alert("it's a tie");
}
else if(choice1=="rock"){
    if(choice2=="scissors"){
        alert("rock wins");
    }
    else{
    alert("paper wins");
    }
}
else if(choice1=="paper"){
    if(choice2=="rock"){
        alert("paper wins");
    }
    else{
        alert("scissors wins");
    }
    }
    else if(choice1=="scissors"){
    if(choice2=="paper"){
        alert("scissors wins");
    }
    else{
        alert("rock wins");
    }
}

}
compare(userChoice,pcChoice);