javascript - Javascript - Rock, Paper, Scissors (odinProject) Helpppp
问题描述
我在使用 javascript (来自 odinproject.com 的作业)中创建一个摇滚、纸、剪刀游戏的作业时遇到了麻烦。每当我使用摇滚作为我的输入时,它似乎工作得很好。但是,当输入纸张或剪刀时,它不能正常工作。请任何帮助、建议和建议将不胜感激。我对此还是很陌生,渴望了解更多!
谢谢!
这是我的代码:
function userChoice() {
const userChoice = prompt("Do you choose Rock, Paper, or Scissors?").toLowerCase();
return userChoice
}
function compChoice() {
let compChoice = Math.random();
if (compChoice < 0.34) {
compChoice = "rock";
} else if (compChoice <= 0.67) {
compChoice = "paper";
} else {
compChoice = "scissors";
}
return compChoice
}
function playRound(userChoice, compChoice) {
//Rock Choice
if (userChoice == "rock" && compChoice == "scissors") {
return "You Win! rock beats scissors!";
} else if (userChoice == "rock" && compChoice == "paper") {
return "Loser! paper Beats rock";
} else if (userChoice == "rock" && compChoice == "rock") {
return "It's a Draw";
} else {
return "Something Went Wrong";
}
//paper Choice
if (userChoice == "paper" && compChoice == "rock") {
return "You Win! paper beats rock";
} else if (userChoice == "paper" && compChoice == "scissors") {
return "You Lose! scissors beats paper";
} else if (userChoice == "paper" && compChoice == "paper") {
return "It's a Draw";
} else {
return "Something Went wrong";
}
//scissors Choice
if (userChoice == "scissors" && compChoice == "paper") {
return "You win! scissors beat paper";
} else if (userChoice == "scissors" && compChoice == "rock") {
return "You Lose! rock beats scissors";
} else if (userChoice == "scissors" && compChoice == "scissors") {
return "It's a Draw";
} else {
return "Something Went Wrong";
}
}
console.log(playRound(userChoice(), compChoice()))
解决方案
如果不输入rock
,将执行第一else
条语句,因为if
orelse if
条件都不为真。它将返回而不对orSomething went wrong
执行任何测试。paper
scissors
所有其他组合都应该是附加else if
语句,并且您应该在最后只有一个else
。
function userChoice() {
const userChoice = prompt("Do you choose Rock, Paper, or Scissors?").toLowerCase();
return userChoice
}
function compChoice() {
let compChoice = Math.random();
if (compChoice < 0.34) {
compChoice = "rock";
} else if (compChoice <= 0.67) {
compChoice = "paper";
} else {
compChoice = "scissors";
}
return compChoice
}
function playRound(userChoice, compChoice) {
//Rock Choice
if (userChoice == "rock" && compChoice == "scissors") {
return "You Win! rock beats scissors!";
} else if (userChoice == "rock" && compChoice == "paper") {
return "Loser! paper Beats rock";
} else if (userChoice == "rock" && compChoice == "rock") {
return "It's a Draw";
}
//paper Choice
else if (userChoice == "paper" && compChoice == "rock") {
return "You Win! paper beats rock";
} else if (userChoice == "paper" && compChoice == "scissors") {
return "You Lose! scissors beats paper";
} else if (userChoice == "paper" && compChoice == "paper") {
return "It's a Draw";
}
//scissors Choice
else if (userChoice == "scissors" && compChoice == "paper") {
return "You win! scissors beat paper";
} else if (userChoice == "scissors" && compChoice == "rock") {
return "You Lose! rock beats scissors";
} else if (userChoice == "scissors" && compChoice == "scissors") {
return "It's a Draw";
} else {
return "Something Went Wrong";
}
}
console.log(playRound(userChoice(), compChoice()))
或者您可以使用嵌套if
块。
function userChoice() {
const userChoice = prompt("Do you choose Rock, Paper, or Scissors?").toLowerCase();
return userChoice
}
function compChoice() {
let compChoice = Math.random();
if (compChoice < 0.34) {
compChoice = "rock";
} else if (compChoice <= 0.67) {
compChoice = "paper";
} else {
compChoice = "scissors";
}
return compChoice
}
function playRound(userChoice, compChoice) {
//Rock Choice
if (userChoice == "rock") {
if (compChoice == "scissors") {
return "You Win! rock beats scissors!";
} else if (compChoice == "paper") {
return "Loser! paper Beats rock";
} else if (compChoice == "rock") {
return "It's a Draw";
} else {
return "Something Went Wrong";
}
}
//paper Choice
else if (userChoice == "paper") {
if (compChoice == "rock") {
return "You Win! paper beats rock";
} else if (compChoice == "scissors") {
return "You Lose! scissors beats paper";
} else if (compChoice == "paper") {
return "It's a Draw";
} else {
return "Something Went Wrong";
}
}
//scissors Choice
else if (userChoice == "scissors") {
if (compChoice == "paper") {
return "You win! scissors beat paper";
} else if (userChoice == "scissors" && compChoice == "rock") {
return "You Lose! rock beats scissors";
} else if (userChoice == "scissors" && compChoice == "scissors") {
return "It's a Draw";
} else {
return "Something Went Wrong";
}
} else {
return "That's not a valid choice";
}
}
console.log(playRound(userChoice(), compChoice()))
推荐阅读
- ios - layoutifneeded 不会触发 layoutSubviews
- sql-server - 如何在sql server中连接Azure数据库
- c# - 在输入文本中有多个 % 运算符的 LINQ 中等效的 SQL LIKE 运算符是什么?
- elasticsearch - 如何使用摄取插件导入文本数据?
- python - 如何计算两个日期时间的月差?
- scala - 如何将 List[String] 或 List[Double] 转换为 List[Row]?
- reactjs - 我有一个 React 客户端和 Jetty 服务器,我想在这两者之间建立一个接口,以便我可以传递我的 CORS 标头。如何做到这一点?
- corda - 在 Corda 中,运行引导程序时不正确指定输入名称错误
- ssis - 使用 ssis 脚本任务从门户网站下载 excel 文件时出现错误消息
- scala - 如何提高文件阅读能力