Главная | Все статьи | Дневник студента

Игра на JS. Обновление

Время чтения статьи ~1 минута
Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Игра на JS. Обновление главное изображение

Всем привет!

Ранее я обозначил ряд элементов, которые хотел привнести в игру. К сожалению, некоторые вещи добавить не удалось, но обо всём по порядку.

Что удалось

battle log. Это оказалось достаточно просто, и единственным, что вызвало затруднения, оказалась полоса прокрутки. Стилизовать scroll с помощью CSS — не сложно. Проблема в том, что работать такая стилизация будет не во всех браузерах, и этот момент я пока не решил, ибо посчитал несущественным. А вот тот факт, что при каждой новой записи полоса прокрутки убегала вверх, меня знатно напрягал. Чтобы это исправить я познакомился с MutationObserver, который может отслеживать изменения в DOM.

Способности героев. Получилось реализовать способность героя разрушать вражескую броню при каждой атаке.

Модульность. Разбил код на модули, чтобы было удобнее работать.

Новый персонаж. К сожалению, не получилось выбрать внешний вид обещанного героя. На просторах интернета я нашёл лишь одно изображение, да и то пришлось переделывать вручную, ибо спрайты там были расположены не горизонтально, а вертикально.

Линтер. Теперь мы с линтером лучшие друзья.

Что не удалось

battle log. Да, пункты здесь будут повторяться. Почему не удалось, если всё работает? Потому что при моей реализации с этим логом очень неудобно работать. Я не создавал отдельную сущность под него в JS и понял свою ошибку слишком поздно.

Способности героев. Тут схожая проблема. Чтобы создавать уникальные способности нужно отслеживать определённые события (получение урона, завершение хода и т.д.). Сейчас это делать очень сложно, поэтому я пока ограничился лишь одной простой способностью.

Что дальше?

Недавно я начал проходить курс Архитектура фронтенда и понял, что многие проблемы в игре могут быть решены с введением состояний, но для этого придётся переписать весь код, что довольно печально. Но я решил сначала доделать боевую часть без исправлений, а уже когда начну заниматься остальными аспектами игры, то переписать всё заново. Таков путь.

Поиграть в игру.

Посмотреть код.

Аватар пользователя Георгий Баратели
Георгий Баратели 03 марта 2021
5
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 25 апреля
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 25 апреля
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 25 апреля
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 25 апреля
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 25 апреля
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 25 апреля
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время