Оглавление:
Видео: Floppy Bird: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Сегодня мы будем делать игру на TFT LCD. Это выглядело бы как игра, которая действительно популярна, и многие люди до сих пор в нее играют. Игра называется Flappy Bird, но эта игра немного отличается, потому что отличается пользовательский интерфейс, а также способ работы игры. Я назвал эту игру Floppy Bird, так как это может привести к проблемам с авторскими правами. Тем не менее, это действительно забавная игра, и ее легко сделать. Я сделал это инструктивным, что позволит вам сделать игру полностью и заставить ее работать так же, как и я. Если у вас есть какие-либо вопросы, прокомментируйте их ниже, и я постараюсь ответить на них как можно быстрее.
Запасы
- Arduino Mega 2560 и кабель
- Arduino Mega Shield
- ЖК-дисплей Arduino TFT, совместимый с Arduino Mega 2560
- SD Card
Шаг 1: Сборка ЖК-дисплея TFT
Теперь мы можем приступить к сборке TFT LCD. Мы подключим TFT LCD к экрану, поэтому сначала возьмите TFT LCD и выровняйте его по контактам на экране. После того, как вы выровняли контакты, нажмите на ЖК-дисплей TFT, чтобы он встал на место. Когда все головки булавок находятся в щите, и вы не видите их, тогда вы знаете, что ЖК-дисплей TFT подключен правильно. Затем мы можем подключить экран к Arduino Mega 2560. Совместите контакты экрана на Arduino Mega и подключите его. Когда все головки контактов находятся в Arduino Mega, и вы не можете видеть головки контактов, это когда вы знаете, что ЖК-экран TFT подключен правильно и готов к включению. Подключите Arduino, чтобы проверить, правильно ли вы подключили ЖК-дисплей, если ЖК-дисплей включается, а экран белый, то поздравляю, вы успешно подключили ЖК-дисплей TFT, и теперь он готов к программированию. Наконец, нам нужно подключить SD-карту к ЖК-дисплею. На задней панели TFT LCD есть слот для SD-карты, куда вы можете просто вставить SD-карту. Поэтому просто подключите его и готово.
Шаг 2: Программирование ЖК-дисплея TFT
Теперь мы запрограммируем ЖК-дисплей, чтобы он запускал игру, и мы могли играть в нее. Ниже приведен код, который необходимо скомпилировать и загрузить с помощью IDE Arduino.
Проблемы, которые могут возникнуть у вас:
Измените параметры ЖК-дисплея TFT в соответствии с вашей моделью.
ПОЛНЫЙ КОД:
#include #include #include
// ==== Создание объектов
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Параметры должны быть адаптированы к вашей модели дисплея / экрана URTouch myTouch (6, 5, 4, 3, 2);
// ==== Определение шрифтов
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ;
внешний беззнаковый int bird01 [0x41A]; // Растровое изображение птицы
int x, y; // Переменные для координат, в которых был нажат дисплей
// Floppy Bird
int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int score = 0; int lastSpeedUpScore = 0; int highScore; логический screenPressed = false; логическое gameStarted = false;
void setup () {
// Запускаем отображение myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); highScore = EEPROM.read (0); // Считываем наивысший результат из EEPROM initiateGame (); // Запускаем игру}
void loop () {
xP = xP-movingRate; // xP - координата x стержней; диапазон: 319 - (-51) drawPilars (xP, yP); // Рисует столбы // yB - координата y птицы, которая зависит от значения переменной FallRate yB + = fallRateInt; fallRate = fallRate + 0,4; // С каждым шагом скорость падения увеличивается, так что мы можем получить эффект ускорения / силы тяжести fallRateInt = int (fallRate); // Проверяет наличие столкновения if (yB> = 180 || yB <= 0) {// сверху и снизу gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// верхний уровень gameOver (); } if ((xP = 5) && (yB> = yP + 60)) {// нижний столп gameOver (); } // Рисуем птицу drawBird (yB);
// После того, как столб прошел через экран
если (xPRESET = 250) && (x = 0) && (y = 0) && (x = 30) && (y = 270) {myGLCD.setColor (0, 200, 20); myGLCD.fillRect (318, 0, x, y-1); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (319, 0, x-1, y);
myGLCD.setColor (0, 200, 20);
myGLCD.fillRect (318, y + 81, x, 203); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (319, y + 80, x-1, 204); } else if (x <= 268) {// Рисуем синий прямоугольник справа от столба myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x + 51, 0, x + 60, y); // Рисуем столб myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x + 49, 1, x + 1, y-1); // Рисуем черную рамку столба myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x + 50, 0, x, y); // Рисуем синий прямоугольник слева от столба myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);
// Нижний столб
myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x + 51, y + 80, x + 60, 204); myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x + 49, y + 81, x + 1, 203); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x + 50, y + 80, x, 204); myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, y + 80, x-3, 204); } // Отрисовывает счет myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (оценка, 100, 220); }
// ====== drawBird () - Пользовательская функция
void drawBird (int y) {// Рисуем птицу - растровое изображение myGLCD.drawBitmap (50, y, 35, 30, bird01); // Рисует синие прямоугольники над и под птицей, чтобы очистить ее предыдущее состояние myGLCD.setColor (114, 198, 206); myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y + 30, 85, y + 36); } // ======== gameOver () - Пользовательская функция void gameOver () {delay (3000); // 1 секунда // Очищает экран и печатает текст myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print («ИГРА ЗАКОНЧЕНА», ЦЕНТР, 40); myGLCD.print («Оценка:», 100, 80); myGLCD.printNumI (оценка 200, 80); myGLCD.print («Перезапуск…», ЦЕНТР, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, ЦЕНТР, 150); задержка (1000); myGLCD.printNumI (1, ЦЕНТР, 150); задержка (1000); // Записывает наивысший балл в EEPROM if (score> highScore) {highScore = score; EEPROM.write (0, высшая оценка); } // Сбрасывает переменные в значения начальной позиции xP = 319; yB = 50; fallRate = 0; оценка = 0; lastSpeedUpScore = 0; MovingRate = 3; gameStarted = false; // Перезапускаем игру initiateGame (); }
Шаг 3: Готово
Мы сделали схему и скомпилировали код. Теперь нам просто нужно подключить Arduino Mega и начать игру.
Здесь у меня есть ссылка на видео, в котором показано, как работает эта игра и что нужно сделать, чтобы ее настроить:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Дайте мне знать, если у вас возникнут проблемы ниже.
Рекомендуемые:
Распознавание лиц на Raspberry Pi 4B за 3 шага: 3 шага
Обнаружение лиц на Raspberry Pi 4B за 3 шага: в этом руководстве мы собираемся выполнить обнаружение лиц на Raspberry Pi 4 с помощью Shunya O / S, используя библиотеку Shunyaface. Shunyaface - это библиотека распознавания / обнаружения лиц. Проект направлен на достижение максимальной скорости обнаружения и распознавания с помощью
Arduino Flappy Bird - Arduino 2,4-дюймовый сенсорный TFT-экран SPFD5408 Bird Game Project: 3 шага
Arduino Flappy Bird | Сенсорный TFT-экран Arduino 2,4 дюйма SPFD5408 Bird Game Project: Flappy Bird была слишком популярной игрой за несколько лет, и многие люди создавали ее по-своему, я тоже, я создал свою версию flappy bird с Arduino и дешевым 2,4-дюймовым TFT Тачскрин SPFD5408, Итак, приступим
Игра Arduino Flappy Bird с 2,4: 3 шага
Игра Arduino Flappy Bird с версией 2.4: Привет, ребята, в этой инструкции мы узнаем, как создать и запустить игру Flappy Bird с Arduino uno на версии 2.4 " tft touchscreen.Поскольку flappy bird - очень популярная игра, я подумал, что мне стоит попробовать свою версию flappy bird, поэтому мы будем играть в flappy bir
Apple II Floppy Hackintosh I7-7700 3,6 ГГц: 7 шагов
Apple II Floppy Hackintosh I7-7700 3.6Ghz: Это первое изображение предназначено для того, чтобы дать вам ссылку на нетронутый привод (с оригинальным радужным логотипом Apple), у моего на нем немного больше пробега. Второе изображение - это внутренности, я забыл сфотографировать, прежде чем разобрать его, любезно предоставлено Goog
Усилитель Apple Floppy: 8 шагов (с изображениями)
Apple Floppy Amp: обнаружен старый 5.25 " дисковод для гибких дисков в комиссионном магазине за 5,99 доллара. Он напомнил мне о моем детстве Apple IIe, поэтому я купил его, не зная, что буду с ним делать. Я фанат анахронизма (бессовестная вилка: см. Ретро-Hi-Fi с инструкциями) и