Оглавление:
- Запасы
- Шаг 1. Дизайн игры
- Шаг 2: кнопки обработки
- Шаг 3: Иерархия классов
- Шаг 4: Обновление экрана
- Шаг 5: логика игры
- Шаг 6: пасхальное яйцо
Видео: LCD Invaders: Space Invaders Like Game на символьном ЖК-дисплее 16x2: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Нет необходимости представлять легендарную игру «Космические захватчики». Самая интересная особенность этого проекта заключается в том, что он использует отображение текста для графического вывода. Это достигается за счет реализации 8 пользовательских символов.
Вы можете скачать полный скетч Arduino здесь:
github.com/arduinocelentano/LCD_invaders/
Запасы
Плата Arduino UNO
Экран ЖКИ-клавиатуры
USB-кабель для загрузки эскиза
Шаг 1. Дизайн игры
Экран не позволяет управлять отдельными пикселями и отображает всего две строки текста, чего недостаточно для игры. Но он позволяет реализовать до 8 пользовательских символов. Хитрость заключается в том, чтобы обработать каждый символ 5x8 пикселей как две игровые ячейки 5x4 пикселей. То есть у нас будет игровое поле 16х4, что имеет смысл. 8 персонажей достаточно для реализации спрайтов космического корабля игрока, пуль и анимированных пришельцев. Так как спрайты имеют размер 5x4, а символы - 5x8, нам понадобятся некоторые персонажи с двумя спрайтами, такие как спрайт «космический корабль и пуля», «инопланетянин и спрайт пули» и т. Д. Все пользовательские символы показаны на картинке.
Шаг 2: кнопки обработки
Обычно все кнопки на ЖК-экране подключаются к одному и тому же аналоговому выводу. Существуют разные версии экрана LCD, поэтому вам, вероятно, придется немного изменить целочисленные литералы в моем коде обработки кнопок.
Шаг 3: Иерархия классов
Я реализовал базовый класс GameObject, который имеет поля координат и скорости и обрабатывает столкновения. От него унаследованы классы Корабль, Чужой и Пуля.
Шаг 4: Обновление экрана
Логика рендеринга может показаться несколько сложной, потому что нам нужно преобразовать игровую логику 16x4 в отображение 16x2. Пожалуйста, прочтите комментарии в коде для получения дополнительной информации. Чтобы избежать мерцания, я использовал двумерный массив символов в качестве текстового буфера. Это позволяет использовать пару (по одной на каждую строку) операций печати для обновления экрана.
Шаг 5: логика игры
Вот суть игры. Основной цикл изменяет координаты всех объектов, проверяет всевозможные коллизии и события нажатия кнопок. Скорость пришельцев и вероятность их стрельбы возрастают от уровня к уровню. Но и количество очков увеличивается.
Шаг 6: пасхальное яйцо
После 42 уровня нет. Серьезно. Это высший уровень жизни, Вселенной и всего остального.:)
Рекомендуемые:
Портативная игровая консоль Lego с Space Invaders: 4 шага
Портативная игровая консоль Lego с Space Invaders: вы когда-нибудь думали о том, чтобы стать разработчиком игр и создать собственную игровую консоль, в которую можно играть на ходу? Все, что вам нужно, это немного времени, оборудование Lego bricksa Mini-Calliope (можно заказать на этом сайте https://calliope.cc/en) и некоторые навыки
Space Invaders в Micropython на Micro: bit: 5 шагов
Space Invaders в Micropython на Micro: bit: В наших предыдущих статьях мы исследовали создание игр на GameGo, портативной игровой консоли в стиле ретро, разработанной TinkerGen education. Созданные нами игры напоминали старые игры Nintendo. В сегодняшней статье мы сделаем шаг назад, чтобы
Учебное пособие по Arduino LCD 16x2 - Подключение ЖК-дисплея 1602 к Arduino Uno: 5 шагов
Учебное пособие по Arduino LCD 16x2 | Взаимодействие ЖК-дисплея 1602 с Arduino Uno: Привет, ребята, так как многим проектам нужен экран для отображения данных, будь то индикатор самодельного счетчика или счетчик подписок на YouTube, калькулятор или блокировка клавиатуры с дисплеем, и если все эти виды проектов выполняются с arduino они определенно будут
Часы Space Invaders (при ограниченном бюджете!): 6 шагов (с изображениями)
Часы Space Invaders (при ограниченном бюджете!): Недавно я увидел классную сборку от GeckoDiode и сразу захотел построить ее сам. Учебным пособием являются настольные часы Space Invaders, и я рекомендую вам взглянуть на них после прочтения этого. Проект был почти полностью построен из частей, полученных от поставщиков
Люстра Space Invaders со светящимся в темноте Экшен: 16 шагов (с изображениями)
Люстра Space Invaders со светящимся в темноте Экшен: используйте 3D-моделирование / печать, лазерную резку акрила, литье из смолы, УФ-реактивный пигмент, светодиоды и простую проводку, чтобы сделать люстру или лампу в стиле ретро и круто космических захватчиков. Я включил хороший трюк для создания изогнутых углов из лазерной