Javascript岩石,纸,剪刀游戏.我的代码出了什么问题

Javascript Rock, paper, scissors game. Whats wrong with my code?

本文关键字:代码 什么 问题 我的 游戏 岩石 Javascript      更新时间:2023-09-26

我希望代码获取用户在输入字段中输入的值,并将其传递给变量userChoice。我不知道为什么这个代码不起作用,唯一的学习方法就是问你们。

HTML:

<h3> Choose your destiny !</h3>
<form>
    <input type="text" id="form" />
    <input type="button" id="button" value="Click Me!" onclick="clickMe();" />
</form>

JavaScript:

var computerChoice = Math.random();
var userChoice = "";
function clickMe() {
    document.getElementById("form").value === userChoice;
}
if (computerChoice < 0.33) {
    computerChoice = "rock";
};
if (computerChoice < 0.66) {
    computerChoice = "paper";
};
if (computerChoice < 1) {
    computerChoice = "scissors";
};
if (userChoice === "rock" && computerChoice === "rock") {
    alert("It's a tie!");
} else if (userChoice === "rock" && computerChoice === "paper") {
    alert("Computer Wins!");
} else if (userChoice === "rock" && computerChoice === "scissors") {
    alert("You WIN!");
};
if (userChoice === "paper" && computerChoice === "rock") {
    alert("You WIN!");
} else if (userChoice === "paper" && computerChoice === "paper") {
    alert("It's a TIE!");
} else if (userChoice === "paper" && computerChoice === "scissors") {
    alert("Computer Wins!");
};
if (userChoice === "scissors" && computerChoice === "rock") {
    alert("Computer Wins!");
} else if (userChoice === "scissors" && computerChoice === "paper") {
    alert("You WIN!");
} else if (userChoice === "scissors" && computerChoice === "scissors") {
    alert("It's a TIE!");
};

Fiddle

您的函数clickMe并不像您所期望的那样工作,我猜:

function clickMe() {
     userChoice = document.getElementById("form").value;
    // ... rest of your code goes inside clickMe
}

要给变量赋值,您需要一个=

以下是的简单方法

<div id="Result"></div>
<div id="sellection">
    <a href="javascript:;" onClick="result(0)">Rock</a>
    <a href="javascript:;" onClick="result(1)">Paper</a>
    <a href="javascript:;" onClick="result(2)">Scissors</a>
</div>

脚本是:

function result(users){
    var choices = ["Rock","Paper","Scissors"];
    var succesResult = "You Loose :(";
    var machines = Math.floor((Math.random() * 3)); 
    var dif = users-machines;
    if(dif>0&&dif!=2||dif==-2){
        succesResult = "You Win :)";
    }else if(dif==0){
        succesResult = "You Draw";
    }
    var resultText = "You Selected "+choices[users]+", Computer Selected "+choices[machines]+" and "+succesResult;
    document.getElementById("Result").innerHTML = resultText;
}