Mundarija:

LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar: 7 qadam
LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar: 7 qadam

Video: LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar: 7 qadam

Video: LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar: 7 qadam
Video: AMIR TEMUR VAFOTI VA TOJU TAXT UCHUN KURASH XALIL SULTON VA PIR MUHAMMAD O'RTASIDAGI JANG XAQIDA 2024, Iyul
Anonim
LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar
LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar
LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar
LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar
LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar
LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar
LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar
LCD bosqinchilar: 16x2 o'lchamli LCD displeyidagi o'yin kabi kosmik bosqinchilar

Afsonaviy "Kosmik bosqinchilar" o'yinini kiritishga hojat yo'q. Loyihaning eng qiziqarli xususiyati shundaki, u grafikli chiqish uchun matnli displeydan foydalanadi. Bunga 8 ta maxsus belgini qo'llash orqali erishiladi.

To'liq Arduino eskizini bu erda yuklab olishingiz mumkin:

github.com/arduinocelentano/LCD_invaders/

Ta'minotlar

Arduino UNO kengashi

LCD klaviatura qalqoni

Eskiz yuklash uchun USB kabel

1 -qadam: O'yin dizayni

O'yin dizayni
O'yin dizayni

Ekran alohida piksellarni boshqarishga ruxsat bermaydi va o'yin uchun etarli bo'lmagan faqat ikki qatorli matnni beradi. Ammo bu 8 ta maxsus belgini bajarishga imkon beradi. Hiyla - har bir 5x8 pikselli belgini ikkita 5x4 pikselli o'yin hujayralari sifatida qayta ishlash. Ya'ni, bizda 16x4 o'lchamli o'yin maydoni bo'ladi, bu mantiqiy. O'yinchining kosmik kemasi, o'q va animatsion musofirlar uchun spritlarni amalga oshirish uchun 8 ta belgi kifoya qiladi. Spritlar 5x4 va belgilar 5x8 bo'lgani uchun bizga "kosmik kema va o'q", "begona va o'qli sprite" va boshqalar kabi ikkita spriteli belgilar kerak bo'ladi. Barcha maxsus belgilar rasmda ko'rsatilgan.

2 -qadam: ishlov berish tugmalari

Qayta ishlash tugmalari
Qayta ishlash tugmalari

Odatda, LCD ekranidagi barcha tugmalar bir xil analog pinga ulanadi. LCD ekranining turli xil versiyalari mavjud, shuning uchun siz tugmachani qayta ishlash kodimdagi butun sonli harflarni biroz o'zgartirishingiz kerak bo'ladi.

3 -qadam: sinflar ierarxiyasi

Sinflar ierarxiyasi
Sinflar ierarxiyasi

Men koordinatalar va tezlik maydonlari va to'qnashuvlarni qayta ishlaydigan GameObject asosiy sinfini qo'lladim. Kema, begona va o'q sinflari undan meros bo'lib o'tgan.

4 -qadam: Ekranni yangilash

Ekranni yangilash
Ekranni yangilash

Render mantig'i biroz murakkab ko'rinishi mumkin, chunki biz 16x4 o'yin mantig'ini 16x2 displeyga aylantirishimiz kerak. Iltimos, qo'shimcha ma'lumot olish uchun koddagi sharhlarni o'qing. Yorqinlikni oldini olish uchun matn buferi sifatida ikki o'lchovli char massividan foydalandim. Bu ekranni yangilash uchun bir nechta bosib chiqarish operatsiyalaridan (har bir satr uchun bittadan) foydalanish imkonini beradi.

5 -qadam: O'yin mantig'i

O'yin mantig'i
O'yin mantig'i

Mana, o'yinning yuragi. Asosiy tsikl barcha ob'ektlarning koordinatalarini o'zgartiradi, har xil to'qnashuvlarni va tugmachalarni bosish hodisalarini tekshiradi. Chet elliklarning tezligi va ularning otish ehtimoli darajadan darajaga ko'tariladi. Ammo ball mukofoti ham oshadi.

6 -qadam: Pasxa tuxumi

Fisih tuxumi
Fisih tuxumi

42 -darajadan keyin daraja yo'q. Jiddiy. Bu hayotning, olamning va hamma narsaning eng yuqori darajasi.:)

Tavsiya: