我刚刚在codecademy上完成了一个rps游戏,并且还有一些额外的任务,包括如果用户输入错误的信息会产生结果。基本上,如果你不写一个“摇滚”,“纸”或“剪刀”的输入,它会再次问你,直到你把它放在正确的一个。岩石纸,剪刀游戏
我怎么能调用userChoice变量,直到它得到正确的答案。我试过这样,但它只是问了2次,然后发布你写的任何东西。
var userChoice = prompt("Do you choose rock, paper or scissors?");
if (userChoice != "rock", "paper", "scissors") {
userChoice = prompt("Do you choose rock, paper or scissors?");
}
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if(computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
var compare = function (choice1, choice2) {
if (choice1 === choice2) {
return "The result is a tie!";
}
else if(choice1 === "rock") {
if (choice2 === "scissors") {
return "rock wins";
}
else {
return "paper wins";
}
}
else if(choice1 === "paper") {
if(choice2 === "rock") {
return "paper wins";
}
else {
return "scissors wins";
}
}
else if(choice1 === "scissors") {
if(choice2 === "rock") {
return "rock wins";
}
else {
return "scissors wins";
}
}
}
console.log("Human: " + userChoice);
console.log("Computer: " + computerChoice);
compare(userChoice, computerChoice);
使用做... while循环 – Robert
你可以大量简化这一点 - 我有一个小乐趣。看看这个,我已经添加了评论来解释快捷键:http://jsfiddle.net/svArtist/12nLz7nb/ –
明天我会研究它,谢谢你的建议 –