Javascript 石头剪刀-如何存储用户选择并将其与cpu选择进行比较
到目前为止,我创建了click事件,控制台记录用户选择的内容,以及一个随机函数,控制台记录计算机选择的内容。我不知道如何存储用户选择,以便与CPU选择的内容进行比较 我考虑过使用if语句 if(randomNumber===1&&假设用户选择了rock){ 警惕(“这是一个平局”) } 等等 我将为每个场景创建一个if语句,然后对结果发出警报。我知道我会重复我自己的话,但现在我更容易创造一些我理解的东西。我想知道的是如何创建“假设用户选择了rock”部分。我考虑过创建一个变量userChoice,但我不确定如何将它与用户所做的选择联系起来。我知道this.innerHTML,但我不确定它是否可以在这里使用Javascript 石头剪刀-如何存储用户选择并将其与cpu选择进行比较,javascript,Javascript,到目前为止,我创建了click事件,控制台记录用户选择的内容,以及一个随机函数,控制台记录计算机选择的内容。我不知道如何存储用户选择,以便与CPU选择的内容进行比较 我考虑过使用if语句 if(randomNumber===1&&假设用户选择了rock){ 警惕(“这是一个平局”) } 等等 我将为每个场景创建一个if语句,然后对结果发出警报。我知道我会重复我自己的话,但现在我更容易创造一些我理解的东西。我想知道的是如何创建“假设用户选择了rock”部分。我考虑过创建一个变量userChoice
// User Choice
var rockUser = document.querySelector("#rock");
var paperUser = document.querySelector("#paper");
var scissorsUser = document.querySelector("#scissors");
var userChoice;
rockUser.addEventListener("click", function() {
console.log("You chose Rock!");
})
paperUser.addEventListener("click", function() {
console.log("You chose Paper!");
})
scissorsUser.addEventListener("click", function() {
console.log("You chose Scissors!");
})
// CPU Choice
let randomNumber = Math.floor(Math.random() *3) +1;
if(randomNumber == 1) {
console.log("CPU chose Rock!");
} else if(randomNumber == 2 ) {
console.log("CPU chose Paper!");
} else if(randomNumber == 3) {
console.log("CPU chose Scissors");
}
//Comparing the two
您可以创建类似以下内容的通用函数: 在HTML中,定义一个空标记
<div id="computerChoice"></div>
您可以创建类似以下内容的通用函数: 在HTML中,定义一个空标记
<div id="computerChoice"></div>
当你说“将它与用户所做的选择联系起来”是什么意思?你想在UI中显示他是否赢了/输了吗?当你说“将它与用户所做的选择联系起来”是什么意思?你想在UI中显示他是否赢了/输了吗?
const Enum = {
ROCK: 0,
PAPER: 1,
SCISSORS: 2,
LIZARD: 3,
SPOCK: 4,
};
const Names = [
'Rock',
'Paper',
'Scissors',
'Lizard',
'Spock',
];
const Winner = {
NOBODY: 0,
ONE: 1,
TWO: 2,
};
const WinnerNames = [
'Nobody',
'You',
'Bot',
];
function oneOrTwo(one, two) {
const match = [
(two === Enum.PAPER) + (two === Enum.SPOCK),
(two === Enum.SCISSORS) + (two === Enum.LIZARD),
(two === Enum.ROCK) + (two === Enum.SPOCK),
(two === Enum.ROCK) + (two === Enum.SCISSORS),
(two === Enum.PAPER) + (two === Enum.LIZARD),
];
return match[one] + Winner.ONE - (one === two);
}
rockUser.addEventListener("click", function() {
const botChose = Math.round(Math.random() * 4);
console.log("You chose Rock, Bot chose " + Names[botChose]);
console.log("Winner is : " + WinnerNames[oneOrTwo(Enum.ROCK, botChose)]);
})
paperUser.addEventListener("click", function() {
const botChose = Math.round(Math.random() * 4);
console.log("You chose Paper, Bot chose " + Names[botChose]);
console.log("Winner is : " + WinnerNames[oneOrTwo(Enum.PAPER, botChose)]);
})
scissorsUser.addEventListener("click", function() {
const botChose = Math.round(Math.random() * 4);
console.log("You chose Scissors, Bot chose " + Names[botChose]);
console.log("Winner is : " + WinnerNames[oneOrTwo(Enum.SCISSORS, botChose)]);
})