Съдържание:

LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей със символи: 7 стъпки
LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей със символи: 7 стъпки

Видео: LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей със символи: 7 стъпки

Видео: LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей със символи: 7 стъпки
Видео: LCD 1602 game console 2024, Юли
Anonim
LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей с символи
LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей с символи
LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей с символи
LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей с символи
LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей с символи
LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей с символи
LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей с символи
LCD Invaders: Space Invaders Like Game на 16x2 LCD дисплей с символи

Няма нужда да въвеждате легендарна игра „Space Invaders“. Най -интересната характеристика на този проект е, че той използва текстов дисплей за графичен изход. Това се постига чрез внедряване на 8 персонализирани знака.

Можете да изтеглите пълната скица на Arduino тук:

github.com/arduinocelentano/LCD_invaders/

Консумативи

Arduino UNO табло

Щит за LCD клавиатура

USB кабел за качване на скици

Стъпка 1: Дизайн на играта

Дизайн на игри
Дизайн на игри

Екранът не позволява управление на отделни пиксели и предоставя само два реда текст, които не са достатъчни за игра. Но позволява да се внедрят до 8 персонализирани знака. Номерът е да се обработи всеки 5x8 пиксела символ като две 5x4 пиксела игра клетки. Тоест ще имаме поле за игра 16x4, което има смисъл. 8 знака са достатъчни за реализиране на спрайтове за космически кораб на играча, куршуми и анимирани извънземни. Тъй като спрайтовете са 5x4 и знаците са 5x8, ще ни трябват някои знаци с два спрайта като спрайт „космически кораб и куршум“, „извънземен и куршумен спрайт“и т.н. Всички персонализирани знаци са показани на снимката.

Стъпка 2: Обработка на бутони

Бутони за обработка
Бутони за обработка

Обикновено всички бутони на LCD екрана са свързани към един и същ аналогов щифт. Има различни версии на LCD щит, така че вероятно ще трябва леко да промените цялостни литерали в моя код за обработка на бутони.

Стъпка 3: Йерархия на класовете

Йерархия на класовете
Йерархия на класовете

Реализирах базов клас GameObject, който има координати и полета за скорост и обработва сблъсъци. Класове Кораб, Чужденец и Куршум са наследени от него.

Стъпка 4: Актуализиране на екрана

Актуализиране на екрана
Актуализиране на екрана

Логиката за изобразяване може да изглежда малко сложна, защото трябва да трансформираме 16x4 логиката на играта в 16x2 дисплей. Моля, прочетете коментарите в кода за допълнителна справка. За да избегна трептенето, използвах двуизмерен char масив като текстов буфер. Тя позволява да се използват няколко (по един за всеки ред) операции за печат за актуализиране на екрана.

Стъпка 5: Логика на играта

Логика на играта
Логика на играта

Тук е сърцето на играта. Основният контур променя координатите на всички обекти, проверява всякакви сблъсъци и събития при натискане на бутон. Скоростта на извънземните и вероятността им да стрелят се увеличават от ниво на ниво. Но наградата за резултата също се увеличава.

Стъпка 6: Великденско яйце

Великденско яйце
Великденско яйце

Няма ниво след ниво 42. Сериозно. Това е върховното ниво на живота, Вселената и всичко.:)

Препоръчано: