Создание игры Dice Game (игра в кости) на JavaScript. Вот нашлось время и силы познакомиться с игрой такого типа. Сразу оговорюсь, что материал и пример не мой, а взят из зарубежного ресурса для изучения.
В примере рассмотрен основной принцип создания игры Dice. Можно сказать - чисто схематично. Однако этого достаточно, чтобы остальное дополнить по необходимости.
Код оказался на удивление прост. Я не сомневаюсь, что в Интернете есть примеры более сложного и совершенного JavaScript-кода для игр подобного типа. Но цель статьи - познакомиться с основным принципом создания игры, не более.
HTML разметка и стили
Разметка очень простая и состоит из четырех элементов:
Элементы
и 1
id="dice-side-1"
- это иммитация двух игральных костей; как если бы эти кости были обращены лицевой стороной к зрителю.1
id="dice-side-2"
Кнопка
служит для управления; с помощью нее мы будем “бросать” игральные кости.1
class="dice-roll"
Заголовок
носит информативный характер - в нем будет выводиться текущая информация.1
id="status"
CSS-стили в комментариях не нуждаются, ибо они небольшого размера и “прозрачные”:
JavaScript - оживляем игральные кости
Далее приступим к более интересной части задачи - созданию js-кода для “оживления” наших игральных костей.
Для этого “выберем” из HTML кнопку и “повесим” на нее функцию rollDice для обработки клика по кнопке:
Затем начнем описывать функцию rollDice. Создадим три переменные, в которые поместим обе игральные кости и информативный заголовок:
Сгенерируем два случайных числа из диапазона от 1 до 6. Игральная кость имеет шесть сторон - поэтому такой диапазон. Эти числа будут иммитацией одной из шести сторон каждой игральной кости.
Другими словами. На всех сторонах игрального кубика “выбито” точками число - от 1 до 6. Поэтому можно сказать иначе - диапазон от 1 до 6 - это диапазон возможных значений, которые выпадают на каждой из игральных костей:
Переменная
служит для информативных целей - будем показывать сообщение о том, сколько в сумме выпало очков на игральных костях.1
diceTotal
Осталось поместить случайно сгенерированную пару чисел в HTML-код. Помимо этого вывести информационное сообщение, сколько очков в сумме выпало. И предупредить, если на обеих костях выпавшее число одинаковое - тогда предоставить игроку еще один ход:
Наш JavaScript-код готов и выглядит таким несложным способом:
Готовый пример Dice Game можно потестить по этой ссылке - JavaScript Dice Game.
Заключение
В заключение, как мне кажется, стоит сказать пару слов по поводу рассмотренного примера. Он является достаточно схематичным. Однако никто не мешает дополнить код возможностью смены изображений, иммитирующих грани костей.
Плюс - добавить анимацию. И получится весьма неплохой результат, как мне представляется.
На этом все.