【发布时间】:2019-02-23 13:01:49
【问题描述】:
我正在构建石头剪刀布任务。目前我的代码仅适用于 1 轮。我不确定如何在重复 5 轮的同时保持分数。我的印象是我至少需要一个 for 循环,大致如下:
for(i=0; i<5;i++);
但我不知道将它插入我的代码的位置。我在网上环顾四周,找不到足够简单的资源来理解不开始使用 switch 方法或任何其他更高级的代码来构建游戏的资源。任何帮助,将不胜感激。谢谢。
function computerPlay() {
let random = Math.random();
if (random <= 0.3333) {
return "paper";
} else if (random >= 0.6666) {
return "rock";
} else {
return "scissors";
}
}
function playRound(playerSelection, computerSelection) {
if (playerSelection.toLowerCase() === "rock") {
if (computerSelection === "paper") {
computerScore++;
return lose;
} else if (computerSelection === "rock") {
return tie;
} else {
userScore++;
return win;
}
}
if (playerSelection.toLowerCase() === "scissors") {
if (computerSelection === "paper") {
userScore++;
return win;
} else if (computerSelection === "rock") {
computerScore++;
return lose;
} else {
return tie;
}
}
if (playerSelection.toLowerCase() === "paper") {
if (computerSelection === "paper") {
return tie;
} else if (computerSelection === "rock") {
userScore++;
return win;
} else {
computerScore++;
return lose;
}
}
}
let userScore = parseInt(0);
let computerScore = parseInt(0);
let win = "You win"
let lose = "You lose"
let tie = "It is a tie"
let playerSelection = prompt("Pick a move");
const computerSelection = computerPlay()
console.log(playRound(playerSelection, computerSelection))
console.log("your score = " + userScore);
console.log("Computer's score = " + computerScore);
【问题讨论】:
-
你应该检查数组,这样你就可以在每次循环时存储结果。你调查过吗?
-
我没有。我正在研究 Odin 项目指南,并且在这场比赛之后涵盖了数组。我真的不想偏离他们的教学秩序。不过还是谢谢。
-
在有人浪费时间回答问题之前,请在您的问题中提及“无数组”。
-
这有一个你可能想效仿的例子:stackoverflow.com/questions/1527803/…
-
为您的代码添加了一些更新,使用递归查看更简单的方法。
标签: javascript loops recursion