Мазмұны:

СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар: 7 қадам
СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар: 7 қадам

Бейне: СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар: 7 қадам

Бейне: СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар: 7 қадам
Бейне: Ең жоғары сапалы Pacman ойыны PACMAN-RTX Gameplay 🎮 🇰🇿 2024, Шілде
Anonim
СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар
СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар
СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар
СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар
СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар
СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар
СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар
СКД басқыншылары: 16x2 СКД дисплейіндегі ойын сияқты ғарыштық басқыншылар

Аңызға айналған «Space Invaders» ойынын енгізудің қажеті жоқ. Бұл жобаның ең қызықты ерекшелігі - бұл графикалық шығару үшін мәтіндік дисплейді қолдану. Оған 8 реттелетін таңбаны енгізу арқылы қол жеткізіледі.

Толық Arduino эскизін мына жерден жүктей аласыз:

github.com/arduinocelentano/LCD_invaders/

Жабдықтар

Arduino UNO басқармасы

СКД пернетақта қалқаны

Эскизді жүктеуге арналған USB кабелі

1 -қадам: ойын дизайны

Ойын дизайны
Ойын дизайны

Экран бөлек пикселдерді басқаруға мүмкіндік бермейді және ойын үшін жеткіліксіз тек екі жол мәтінін береді. Бірақ бұл 8 таңдамалы таңбаны енгізуге мүмкіндік береді. Айла - 5х8 пиксельдегі әр таңбаны 5х4 пиксельді екі ойын ұяшығы ретінде өңдеу. Яғни, бізде 16x4 ойын алаңы болады, бұл мағынасы бар. Ойыншының ғарыш кемесіне, оқтар мен анимациялық шетелдіктерге спрайттарды енгізу үшін 8 таңба жеткілікті. Спрайт 5х4 және таңбалар 5х8 болғандықтан, бізге «ғарыш кемесі мен оқ» сприті, «бөтен адам мен оқ сприті» сияқты екі сприті бар кейіпкерлер қажет болады. Барлық таңбалар суретте көрсетілген.

2 -қадам: өңдеу түймелері

Өңдеу түймелері
Өңдеу түймелері

Әдетте, СКД қалқанындағы барлық түймелер бірдей аналогтық түйреуішке қосылады. СКД қалқанының әр түрлі нұсқалары бар, сондықтан менің түймені өңдеу кодында бүтін санды сәл өзгерту керек болады.

3 -қадам: сыныптар иерархиясы

Сыныптар иерархиясы
Сыныптар иерархиясы

Мен координаттары мен жылдамдық өрістері мен соқтығысуларды өңдейтін GameObject негізгі класын енгіздім. Кеме, Бөтен және Оқ сыныптары одан мұраға қалған.

4 -қадам: экранды жаңарту

Экранды жаңарту
Экранды жаңарту

Рендеринг логикасы біршама күрделі болып көрінуі мүмкін, себебі біз 16x4 ойын логикасын 16x2 дисплейге айналдыруымыз керек. Қосымша ақпарат алу үшін кодтағы түсініктемелерді оқыңыз. Жыпылықтауды болдырмау үшін мен мәтіндік буфер ретінде екі өлшемді char массивін қолдандым. Ол экранды жаңарту үшін бірнеше басып шығару операцияларын (әр жолға бір) қолдануға мүмкіндік береді.

5 -қадам: Ойын логикасы

Ойын логикасы
Ойын логикасы

Бұл ойынның жүрегі. Негізгі цикл барлық объектілердің координаттарын өзгертеді, қақтығыстардың барлық түрін және түймелерді басу оқиғаларын тексереді. Шетелдіктердің жылдамдығы мен олардың ату ықтималдығы деңгейден деңгейге дейін артады. Бірақ ұпай саны да жоғарылайды.

6 -қадам: Пасха жұмыртқасы

Пасха жұмыртқасы
Пасха жұмыртқасы

42 -деңгейден кейін деңгей жоқ. Шындап. Бұл өмірдің, Әлемнің және барлығының соңғы деңгейі.:)

Ұсынылған: