javascript - 我的石头、纸、剪刀游戏的 JavaScript 代码不工作
问题描述
我正在学习 Javascript。我正在尝试用 Js 制作一个石头剪刀布游戏。
let playerScore = 0;
let computerScore = 0;
let playerSelection = prompt("Choose Rock, Paper, Scissor");
let choice = ["Rock", "Paper", "Scissor"];
function computerPlay(choice) {
let computerChoice = choice[Math.floor(Math.random() * choice.length)];
return computerChoice;
}
let computerSelection = computerPlay(choice);
function playRound(playerSelection, computerSelection) {
playerSelection.toLowerCase();
if (playerSelection === computerSelection) {
console.log (`It is a tie. Player ${playerScore} vs Computer ${computerScore}`);
}
else if (playerSelection === "rock" && computerSelection === "paper") {
computerScore++;
console.log (`Computer won! Player ${playerScore} vs Computer ${computerScore}`);
}
else if (playerSelection === "paper" && computerSelection === "scissor") {
computerScore++;
console.log (`Computer won! Player ${playerScore} vs Computer ${computerScore}`);
}
else if (playerSelection === "scissor" && computerSelection === "rock") {
computerScore++;
console.log (`Computer won! Player ${playerScore} vs Computer ${computerScore}`);
}
else {
playerScore++;
console.log (`You won! Player ${playerScore} vs Computer ${computerScore}`);
}
}
playRound(playerSelection, computerSelection);
但是我的代码没有像我预期的那样工作。无论我在提示中给出什么选择(石头、纸、剪刀),它每次只会给我相同的结果,即只有其他条件语句有效。
解决方案
做完 playerSelection.toLowerCase(); 将其存储到相同的变量中。
toLowerCase 不会更新字符串中的任何内联内容,它只是返回值,因此您将在某处存储返回值
playerSelection = playerSelection.toLowerCase();
还将选择数组更改为小写
let choice = ["rock", "paper", "scissor"];
推荐阅读
- angular - Angular Input 属性,似乎我无法多次重新分配它
- android - Object is not displaying on the ground plane even if it is set to true in vuforia ground plane detection
- python - 获取 paramiko.ssh_exception.SSHException:读取 SSH 协议横幅时出错(Python)
- javascript - How to dropdown bind according to this record
- java - Problems running UiAutomator2 on Android 7.0
- python - Within a file to add data
- r - POSIXlt list problem with which funciton in R
- powershell - 我需要在 Powershell 中进行批量密码更改
- umbraco8 - Umbraco 8 如何在 textareaEditor 中换行
- java - Java - 当尝试将范围之外的值存储在其中时,为什么int默认为0