Я пытаюсь вызвать функцию getWinner внутри функции playFiveTimes, и каждый раз, когда я пытаюсь проверить свой код, он дает мне ошибку, которая говорит: «playerMove undefined», или если я попытаюсь набрать «rock «это говорит о том, что также не определено. В этот момент я полностью потерялся. Любая помощь будет оценена по достоинству.Вызов функции внутри другой функции
'use strict';
function getInput() {
console.log("Please choose either 'rock', 'paper', or 'scissors'.")
return prompt();
}
function randomPlay() {
var randomNumber = Math.random();
if (randomNumber < 0.33) {
return "rock";
} else if (randomNumber < 0.66) {
return "paper";
} else {
return "scissors";
}
}
function getPlayerMove(move) {
if (!move) {
move = getInput();
}
return move;
}
function getComputerMove(move) {
if (!move) {
move = getInput();
}
return move;
}
function getWinner(playerMove, computerMove) {
var winner;
if (playerMove === computerMove) {
return ("It's a tie!");
} else if (playerMove === "rock") {
if (computerMove === "paper") {
return "paper wins";
} else {
return "rock wins";
}
} else if (playerMove === "paper") {
if (computerMove === "rock") {
return "paper wins";
} else {
return "scissors wins";
}
} else if (playerMove === "scissors") {
if (computerMove === "paper") {
return "scissors wins";
} else {
return "rock wins";
}
}
return winner;
}
function playToFive() {
console.log("Let's play Rock, Paper, Scissors");
var playerWins = 0;
var computerWins = 0;
// Write code that plays 'Rock, Paper, Scissors' until either the player or the computer has won five times.
while ((playerWins < 5) && (computerWins < 5)) {
getWinner();
if (playerWins) {
playerWins += 1
} else {
computerWins += 1
}
}
console.log("Player chose " + playerMove + " while computer chose " + computerMove);
console.log("The score is currently " + playerWins + " to " + computerWins + "\n");
return [playerWins, computerWins];
}
console.log(playToFive());
Ваш код не так легко понять без надлежащего отступа. Измените свой код, чтобы иметь правильный отступ. – jfriend00
Вы вызываете 'getWinner()' без параметров в функции 'playToFive()'. Однако 'getWinner()' требует два параметра: 'playerMove' и' computerMove'. Это то, что вызывает ошибку «playerMove is undefined». – ivern
У меня есть playerMove для работы, но он все еще говорит все, что я набираю после того, как это не определено – gwerd