Mündəricat:
- Təchizat
- Addım 1: Oyun Dizaynı
- Addım 2: İşləmə Düymələri
- Addım 3: siniflər iyerarxiyası
- Addım 4: Ekranı yeniləyin
- Addım 5: Oyun Məntiqi
- Addım 6: Pasxa Yumurtası
Video: LCD İşğalçıları: 16x2 LCD Xarakterli Ekranda Oyun İstəyən Bir Kosmik İşğalçı: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Əfsanəvi "Space Invaders" oyununu təqdim etməyə ehtiyac yoxdur. Bu layihənin ən maraqlı xüsusiyyəti, qrafik çıxışı üçün mətn ekranını istifadə etməsidir. 8 xüsusi simvol tətbiq etməklə əldə edilir.
Tam Arduino eskizini buradan yükləyə bilərsiniz:
github.com/arduinocelentano/LCD_invaders/
Təchizat
Arduino UNO idarə heyəti
LCD klaviatura qalxanı
Eskiz yükləmək üçün USB kabel
Addım 1: Oyun Dizaynı
Ekran ayrı pikselləri idarə etməyə imkan vermir və oyun üçün kifayət etməyən yalnız iki sətir mətn verir. Ancaq 8 -ə qədər xüsusi simvol tətbiq etməyə imkan verir. Hiylə, hər 5x8 piksellik xarakteri iki 5x4 piksellik oyun hüceyrəsi olaraq işləməkdir. Yəni 16x4 oyun sahəsinə sahib olacağıq, bu da mənalıdır. Oyunçunun kosmik gəmisi, güllə və cizgi əcnəbilər üçün sprite tətbiq etmək üçün 8 simvol kifayətdir. Spritler 5x4 və xarakterlər 5x8 olduğundan, "kosmik gəmi və güllə" spriti, "yadplanetli və güllə spriti" və s. Kimi iki sprite malik bəzi personajlara ehtiyacımız olacaq.
Addım 2: İşləmə Düymələri
Tipik olaraq, bir LCD qalxanındakı bütün düymələr eyni analoq pinə bağlıdır. LCD qalxanının fərqli versiyaları var, buna görə yəqin ki, düymə işləmə kodumda tam ədədləri bir az dəyişdirməlisiniz.
Addım 3: siniflər iyerarxiyası
Koordinatları, sürət sahələri və toqquşmaları emal edən əsas sinif GameObject tətbiq etdim. Gəmi, Alien və Bullet sinifləri ondan miras alınmışdır.
Addım 4: Ekranı yeniləyin
Görünüş məntiqi bir qədər mürəkkəb görünə bilər, çünki 16x4 oyun məntiqini 16x2 ekrana çevirmək məcburiyyətindəyik. Daha ətraflı məlumat üçün koddakı şərhləri oxuyun. Titrəməyin qarşısını almaq üçün mətn tamponu olaraq iki ölçülü char massivindən istifadə etdim. Ekranı yeniləmək üçün bir neçə çap əməliyyatı (hər sətir üçün bir) istifadə etməyə imkan verir.
Addım 5: Oyun Məntiqi
Budur oyunun ürəyi. Əsas döngə bütün cisimlərin koordinatlarını dəyişir, hər cür toqquşmaları və düymə basma hadisələrini yoxlayır. Əcnəbilərin sürəti və atışma ehtimalı səviyyədən səviyyəyə yüksəlir. Amma hesab mükafatı da artır.
Addım 6: Pasxa Yumurtası
42 -ci səviyyədən sonra heç bir səviyyə yoxdur. Ciddi. Həyatın, Kainatın və Hər şeyin Nəhayət səviyyəsidir.:)
Tövsiyə:
Space İşğalçıları ilə Lego Portativ Oyun Konsolu: 4 addım
Space İşğalçıları ilə Lego Portativ Oyun Konsolu: Heç bir oyun tərtibçisi olmağı və yolda oynaya biləcəyiniz öz oyun konsolunuzu qurmağı düşünmüsünüzmü? Lazım olan hər şey bir az vaxtdır, hardwareLego bricksa Mini-Calliope (bu veb saytında sifariş verilə bilər https://calliope.cc/en) və bir az bacarıq
Şapka yox şapka - Həqiqətən şapka geyinməyən, lakin şapka təcrübəsi istəyən insanlar üçün şapka: 8 addım
Şapka Şapka deyil - Həqiqətən Şapka Geyinməyən, Ancaq Şapka Təcrübəsi İstəyən İnsanların Şapkası: Həmişə şapka sahibi olmağı arzulamışam, amma mənim üçün işləyən bir şapka tapmamışam. Bu " Şapka deyil Şapka " və ya sehrbaz adlandırıldığı kimi, Kentukki Derbisinə qatıla biləcəyim şapka problemimin üst qatı bir həllidir
Mikro Bitdə Yer İşğalçıları Necə Hazırlanır: 4 Addım
Mikro Bitdə Kosmos İşğalçıları Necə Hazırlanır. Beləliklə, ilk addım gəmimizi yaratmaqdır. &Quot; Əsas " və " Başlanğıcda " blok Sonra " Dəyişənlər " və " Gəmi " adlı bir dəyişən yaradırsınız. və " Dəyişənlər " sekme t
Xarakterli LCD I2c Adapteri (I2c Bağlantı Nümunəsi): 12 Addım (Şəkillərlə birlikdə)
Character LCD I2c Adapteri (I2c Bağlantı Nümunəsi): i2c adapteri üçün bir xarakter göstəricisi üçün bir əlaqə sxemi edirəm. Saytımdakı yeniləmələri yoxlayın. İndi mən də orijinal kitabxanadan istifadə etmək üçün məftil bağlantısı sxemini əlavə edirəm. LiquidCrystal Arduino kitabxanası xarakterli LCD displeylər üçün çəngəlli proyekt
Qırılan bir oyun konsolu ilə gözəl bir şey edin: 6 addım
Qırılan bir oyun konsolu ilə gözəl bir şey edin: Bir müddət əvvəl dostum mənə artıq işləməyən köhnə PS2 -ni verdi. Təəssüf ki, elektrik mühəndisi olmadığım üçün konsolu düzəldə bilmərəm, ancaq RetroPie haqqında biliklərimi yepyeni bir oyun sistemi yaratmaq üçün istifadə edə bilərəm. (Bu təlimat üçün mən