В сегодняшнем проекте я создал игру, похожую на камень-ножницы-бумага, под названием Bear, Human or Gun.
Я использовал следующий код:
function getUserChoice(userInput){ userInput = userInput.toLowerCase(); if (userInput === 'bear' || userInput === 'gun' || userInput ==='human'){ return userInput; } else { return 'Error, please try again'; } }; function getComputerChoice(){ var randomNumber = Math.floor(Math.random()*3); if (randomNumber === 0){ return 'bear'; } else if (randomNumber === 1){ return 'human'; } else { return 'gun'; } } function determineWinner(userChoice, computerChoice){ if (userChoice === computerChoice){ return 'It\'s a tie!' } if (userChoice === 'human'){ if (computerChoice === 'bear'){ return 'Loser. You have been mauled by a bear'; } else { return 'Winner! You have disarmed a gun'; } } if (userChoice === 'bear'){ if (computerChoice === 'gun'){ return 'Loser. You have been shot by a gun';} else { return 'Winner! You have mauled a human'; } } if (userChoice === 'gun'){ if (computerChoice === 'human'){ return 'Your gun has been disarmed'; } else { return 'Winner! You have shot a bear'; } } } ; console.log(determineWinner('bear', 'human')); function playGame() { var promptUserChoice = prompt("Please choose bear, human or gun"); var userChoice = getUserChoice(promptUserChoice); var computerChoice = getComputerChoice(); console.log(determineWinner(userChoice, computerChoice)); }; playGame();
Первая часть, с которой я застрял, была в операторе if, который я сделал на шаге 2, я забыл сделать его ===
вместо =
.
В какой-то момент, когда я прошел проверку, код работал, и он продолжал появляться с ошибкой, которую мне пришлось пройти и выяснить, что я добавил лишнее {
, в котором возвращалась ошибка.
Самой сложной частью была, вероятно, последняя часть, связанная с подсказками пользователю, поскольку я действительно не имел с этим дело раньше, поэтому я обратился к примеру кода за помощью. Но я чувствовал, что хорошо разбираюсь в функциях и операторах if/else.
Хорошо, что задача пробежала вас через каждый шаг кода, так как я не смог бы понять, как сделать программу, не проходя пошагово, но это было круто сделать.