Добро пожаловать в этот урок о том, как создать простую игру «камень, ножницы, бумага» с помощью JavaScript!
(Ссылка внизу.)
Готовы ли вы испытать свою удачу против компьютера в игре камень, ножницы, бумага? В этой статье мы обсудим код, который позволяет вам сыграть пять раундов в эту классическую игру и посмотреть, кто выйдет победителем.
Но это не обычная игра в камень, ножницы, бумага. Этот код был разработан, чтобы добавить немного азарта и конкуренции. Готовы ли вы проверить, есть ли у вас все необходимое, чтобы победить компьютер? Давай выясним!
Как работает код:
Код начинается с определения массива под названием «play», который содержит три варианта на выбор: «камень», «бумага» и «ножницы». Он также определяет три переменные: «выигрыши», «проигрыши» и «ничьи», которые будут использоваться для отслеживания результатов каждого раунда.
let play = [“rock”, “paper”, “scissors”]; let wins = 0; let losses = 0; let draws = 0;
Затем код отображает предупреждающее сообщение, знакомящее с игрой и объясняющее правила. Затем он входит в цикл, который будет выполняться в общей сложности пять раундов.
let introduction = ("Get ready – five rounds of rock, paper, and scissors are about to start! (User's consent not required.)"); alert(introduction) let i = 0; while (i < 5){
Во время каждого раунда код будет предлагать вам ввести свой выбор. Затем он преобразует ваш ответ в нижний регистр, так что не имеет значения, вводите ли вы «рок», «РОК» или «Рок».
let hAnswer = prompt("How will it be, eh? You ought to choose!"); hAnswer = hAnswer.toLowerCase();
Не пытайтесь вставить другое слово, иначе игра перезагрузится!
if ( (hAnswer !== "rock" && hAnswer !== "paper" && hAnswer !== "scissors") ) { alert("Dude play either rock, paper, or scissors. Reload the page to start again."); break; };
Но здесь все становится интереснее. Затем код сгенерирует случайный ответ для компьютера, используя массив «play» и функцию «Math.random()». Он отобразит предупреждающее сообщение, показывающее выбор компьютера, а также будет держать вас в напряжении, добавляя немного саспенса с драматической музыкой.
let cAnswer = play[Math.floor(Math.random() * play.length)]; if (hAnswer == "rock" || hAnswer == "paper" || hAnswer == "scissors") { alert("Computer has played " + cAnswer + "."); }
Наконец, код определит исход раунда на основе правил «камень, ножницы, бумага». Если это ничья, счетчик «ничьи» будет увеличен. Если вы выиграете, счетчик «выигрышей» будет увеличен. И если вы проиграете, счетчик «проигрышей» будет увеличен.
//Response for draw & counter if (hAnswer === cAnswer) { draws++ alert(`It's a draw. We're keeping tabs... (${draws})`) } //Response for win & counter else if ( (hAnswer == "rock" && cAnswer == "scissors") || (hAnswer == "paper" && cAnswer == "rock") || (hAnswer == "scissors" && cAnswer == "paper") ) { wins++ alert(`You have won ${wins} times, luck lol.`) } //Response for loss & counter else { losses++ alert(`You have lost ${losses} times ahaha!`) } i++ //counter for <5 loop }
В конце цикла код отобразит предупреждающее сообщение с окончательными результатами, включая количество побед, поражений и ничьих. Это также добавит немного колорита, добавив праздничную музыку, если вы выиграете, или сочувствующую музыку, если вы проиграете.
alert(`You have won ${wins} times, draw ${draws} times and lost ${losses} times.`)
Вывод:
Итак, у вас есть код, который позволяет вам весело и увлекательно играть в камень, ножницы, бумагу против вашего компьютера. Являетесь ли вы опытным профессионалом или новичком, этот код — отличный способ проверить свою удачу и посмотреть, есть ли у вас все необходимое, чтобы победить компьютер. Так зачем ждать? Попробуйте и посмотрите, есть ли у вас все необходимое, чтобы выйти на первое место!