我正在做一个基本的石头剪刀游戏,我以为我正确地编码了分数增量,但游戏将每轮分数保持在0.
我试着在函数内部以及全局初始化变量.我试着在变量增量前面加上return.我try 了使用和不使用playRound()函数末尾显示的return score语句.我知道游戏要么没有修改变量,要么一直遵循初始给定值,我就是不明白为什么或者我需要做什么才能让变量保持增量.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Rock Paper Scissors</title>
</head>
<body>
<script>
const choices = ['Rock', 'Paper', 'Scissors'];
let playerScore = 0;
let compScore = 0;
function computerPlay() {
return choices[Math.floor(Math.random() * choices.length)];
}
function playRound(playerSelection, computerSelection, playerScore, compScore) {
computerSelection = computerPlay();
playerSelection = prompt("Rock, Paper, or Scissors? ");
if (playerSelection === 'Rock' && computerSelection === 'Scissors') {
playerScore += 1;
return "You win! Rock beats Scissors!";
} else if (playerSelection === 'Scissors' && computerSelection === 'Paper') {
playerScore += 1;
return "You win! Scissors beats Paper!";
} else if (playerSelection === 'Paper' && computerSelection === 'Rock') {
playerScore += 1;
return "You win! Paper beats Rock!";
} else if (playerSelection === 'Scissors' && computerSelection === 'Rock') {
compScore += 1;
return "You lose! Rock beats Scissors!";
} else if (playerSelection === 'Paper' && computerSelection === 'Scissors') {
compScore += 1;
return "You lose! Scissors beats Paper!";
} else if (playerSelection === 'Rock' && computerSelection === 'Paper') {
compScore += 1;
return "You lose! Paper beats Rock!";
} else {
playerScore += 1;
compScore += 1;
return "Tie!"
}
return playerScore;
return compScore;
}
function game() {
for (let i = 0; i < 5; i++) {
console.log(playRound());
console.log(`Your score: ${playerScore}`);
console.log(`Computer score: ${compScore}`);
}
winner();
}
function winner() {
if (compScore > playerScore) {
console.log("\nThe computer dominated your ass! Better luck next time!")
} else if (compScore < playerScore) {
console.log("\nWay to crush it! You win!")
} else {
console.log("\nHoly shizzers! It's a tie!")
}
}
</script>
</body>
</html>