воскресенье, 01 сентября 2013
Занимаюсь js на codecademy. Делаю задание по написанию "камень, ножницы, бумага". И на вот этот код он мне пишет
Maximum call stack size exceeded javasсript. Однако ж если я закоменчу последний if, где choice1=scissors, то всё окей. Чего я не вижу?
читать дальшеvar userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if(computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
var compare = function (choice1, choice2) {
if (choice1 === choice2) {
return "The result is a tie!";
}
if (compare(choice1) === "rock") {
if (compare(choice2) === "scissors") {
return "rock wins";
}
else {
return "paper wins";
}
}
if (compare(choice1) === "paper") {
if (compare(choice2) === "scissors") {
return "scissors wins";
}
else {
return "paper wins";
}
}
if (compare(choice1) === "scissors") {
if (compare(choice2) === "rock") {
return "rock wins";
}
else {
return "scissors wins";
}
}
}
compare(userChoice, computerChoice);
@темы:
Вопрос,
Java script
И вот тут, кажется, ещё ошибка:
if (compare(choice1) === "rock") {
if (compare(choice2) === "scissors") {
return "rock wins";
}
else {
return "paper wins";
}
}
"scissors win" должно быть, очеидно.
разве? бумага заворачивает камень
Я так понимаю, что должно быть вот так: