-3

我正在“Codecademy”上创建一个石头、纸、剪刀的游戏,所以我为此使用了简单的 JavaScript。这个简单的代码有四个必需品

  • 如果computerChoice 介于0 和0.33 之间,则使computerChoice 等于“rock”。
  • 如果 computerChoice 介于 0.34 和 0.66 之间,则使 computerChoice 等于 "paper"。
  • 如果 computerChoice 介于 0.67 和 1 之间,则使 computerChoice 等于“剪刀”。
  • 需要是一个 If/Else If/Else 语句

所以基本上,我需要根据函数“computerChoice”的值来改变函数“computerChoice”的值。

    var userChoice = prompt("Do you choose rock, paper or scissors?");

var computerChoice = Math.random(); {
    console.log(computerChoice);
}

if (computerChoice >= 0 & <= 0.33) {
    computerChoice = rock;
}

else if (computerChoice >= 0.34 & < 0.66) {
    computerChoice = paper;
}
else {
    computerChoice = scissors;
}
4

4 回答 4

1

您的代码中存在以下问题。

1)应该有&&而不是&

2)这种情况

(computerChoice >= 0 & <= 0.33)

应该

(computerChoice >= 0 && computerChoice <= 0.33)

3) , and应该是字符串,只需将它们用引号括起来rockscissorspaper

4)在下面的行中

var computerChoice = Math.random(); {
    console.log(computerChoice);
}

不需要{ }它应该写成

var computerChoice = Math.random(); 
console.log(computerChoice);

将一切合二为一

var userChoice = prompt("Do you choose rock, paper or scissors?");

var computerChoice = Math.random();
console.log(computerChoice);


if (computerChoice >= 0 && computerChoice <= 0.33) {
    computerChoice = 'rock';
} else if (computerChoice >= 0.34 && computerChoice < 0.66) {
    computerChoice = 'paper';
} else {
    computerChoice = 'scissors';
}
于 2015-01-15T03:51:33.453 回答
1
if (computerChoice < 0.33) {
  computerChoice = "rock";  
} else if (computerChoice <= 0.66){
  computerChoice = "paper";    
} else {
  computerChoice = "scissors";
} 
于 2015-01-15T03:53:19.807 回答
0

您的语法需要一些修复。

一方面,您不需要log()语句周围的那些花括号。

另一方面,您需要在每个 if 语句的第二部分中测试一个变量:

if (computerChoice >= 0 && computerChoice <= 0.33) {
    computerChoice = rock;
} else if (computerChoice >= 0.34 && computerChoice < 0.66) {
    computerChoice = paper;
} else {
    computerChoice = scissors;
}

请注意在computerChoice每个布尔表达式的后半部分进行比较。

此外,您还没有定义变量rockpaperscissors。相反,您可以尝试分别使用字符串'rock''paper''scissors'

于 2015-01-15T03:52:40.343 回答
0

五个问题

  1. 您不需要在console.log语句周围使用大括号。
  2. 你需要在你的价值观、石头、纸和剪刀周围加上引号(或者事先将它们定义为变量)。
  3. JavaScript 中的逻辑 and 需要两个 & 符号&&。(单个&符号是按位运算符。)
  4. 你必须在逻辑与之后包括不等式的两边。你不能说& < 0.66,因为 JavaScript 不知道你指的是什么,但需要写&& computerChoice < 0.66.
  5. 一个数学问题是,您没有将 0 到 1 的区间正确地划分为三个相等的段(并且完全忽略了 0.33 和 0.34 之间的部分)。

加一优化

  • 虽然上面4.是真的,但是你甚至根本不需要逻辑运算,因为到语句&&中的代码到达的时候你就已经知道了,第一个条件不成立,也不需要是再次检查。else if if

您定义的变量没有称为rock,因此您可以定义一个,或者只使用字符串"rock"。和 也是"paper"如此"scissors"

建议修订

var userChoice = prompt("Do you choose rock, paper or scissors?");

var computerChoice = Math.random();
console.log(computerChoice);


if (computerChoice < 1/3) {
    computerChoice = "rock";
}

else if (computerChoice < 2/3) {
    computerChoice = "paper";
}

else {
    computerChoice = "scissors";
}
于 2015-01-15T03:51:03.993 回答