Разработка игр на языке JavaScript: учебное пособие для СПО, 2-е изд.
Год издания: 2022
Автор: Беляев С. А.
Издательство: Лань
ISBN: 978-5-8114-8949-7
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Количество страниц: 152
Описание: Учебное пособие рассматривает ключевые вопросы разработки
однопользовательских двумерных игр на языке JavaScript. Пособие
построено в практическом ключе, когда в отдельных главах
осуществляется поэтапная разработка различных элементов игры.
В пособии не выделена отдельная глава для изучения основ JavaScript,
его элементы разбираются в процессе изложения основного материала
с объяснением базовых особенностей. Читателю будет легче воспринимать
учебное пособие, если он уже владеет JavaScript, но достаточно владеть
любым языком программирования.
Пособие дополнено главой, посвящённой основам применения искусственного
интеллекта при разработке игр.
Учебное пособие предназначено для студентов среднего профессионального
образования, обучающихся по специальностям «Программирование в компьютерных
системах» и «Информационные системы и программирование», а также может быть
полезно широкому кругу читателей, интересующихся разработкой современных
интернет-приложений.
Оглавление
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . 3
Глава 1
Базовые элементы языка . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 5
1.1. Первая HTML-страница . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Отображение прямой на холсте. . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3. Отображение прямоугольника и зигзага . . . . . . . . . . . . . . . . . . . 9
1.4. Отображение нескольких прямоугольников . . . . . . . . . . . . . . . 14
1.5. Отображение рисунков, простейшая анимация . . . . . . . . . . . . 17
1.6. Трансформация изображения . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Глава 2
Отображение карты игры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1. Сохранение карты в формате JSON . . . . . . . . . . . . . . . . . . . . . . 23
2.2. Описание объекта для управления картой. . . . . . . . . . . . . . . . . 28
2.3. Дополнительные методы работы с картой . . . . . . . . . . . . . . . . . 41
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Глава 3
Отображение объектов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1. Создание объектов игры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2. Загрузка изображений для объектов . . . . . . . . . . . . . . . . . . . . . 56
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Глава 4
Взаимодействие с пользователем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.1. Взаимодействие с использованием клавиатуры . . . . . . . . . . . . 68
4.2. Взаимодействие с использованием мыши . . . . . . . . . . . . . . . . . 72
4.3. Реализация менеджера событий . . . . . . . . . . . . . . . . . . . . . . . . . 75
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Глава 5
Реализация логики поведения объектов . . . . . . . . . . . . . . . . . . . . . . . 81
5.1. Физические особенности пространства . . . . . . . . . . . . . . . . . . . 82
Прямолинейное движение . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Свободное падение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Изменение двух координат
с учетом свободного падения . . . . . . . . . . . . . . . . . . . . . . . . . 86
Упругое падение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2. Менеджер физики объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Глава 6
Менеджер игры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . 99
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . 106
Глава 7
Управление звуком . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.1. Загрузка и проигрывание аудиофайлов . . . . . . . . . . . . . . . . . . 107
Проигрывание аудиофайлов . . . . . . . . . . . . . . . . . . . . . . . . . 108
Проигрывание аудиофайлов
с настройкой громкости звука . . . . . . . . . . . . . . . . . . . . . . . 110
7.2. Менеджер звука . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.3. Дополнительные функции работы со звуком . . . . . . . . . . . . . 118
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . 121
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Глава 8
Искусственный интеллект в компьютерных играх . . . . . . . . . . . . . 123
8.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.2. Традиционные подходы к управлению . . . . . . . . . . . . . . . . . . 124
8.3. Оптимизация параметров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.4. Машинное обучение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . 143
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Список использованной литературы . . . . . . . . . . . . . . . . . . . . . . . . 147