İçindekiler:
- Gereçler
- Adım 1: Oyun Tasarımı
- Adım 2: İşlem Düğmeleri
- 3. Adım: Sınıflar Hiyerarşisi
- 4. Adım: Ekranı Güncelleme
- Adım 5: Oyun Mantığı
- Adım 6: Bir Paskalya Yumurtası
Video: LCD İstilacılar: 16x2 LCD Karakter Ekranında Oyun Gibi Bir Uzay İstilacıları: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Efsanevi bir "Space Invaders" oyununu tanıtmaya gerek yok. Bu projenin en ilginç özelliği, grafik çıktı için metin gösterimi kullanmasıdır. 8 özel karakter uygulanarak elde edilir.
Arduino taslağının tamamını buradan indirebilirsiniz:
github.com/arduinocelentano/LCD_invaders/
Gereçler
Arduino UNO kurulu
LCD tuş takımı kalkanı
Çizim yüklemek için USB kablosu
Adım 1: Oyun Tasarımı
Ekran ayrı pikselleri kontrol etmeye izin vermiyor ve oyun için yeterli olmayan sadece iki satırlık metin sağlıyor. Ancak 8 adede kadar özel karakter uygulanmasına izin verir. İşin püf noktası, her 5x8 piksel karakteri iki 5x4 piksel oyun hücresi olarak işlemek. Yani 16x4 oyun alanımız olacak, bu mantıklı. 8 karakter, oyuncunun uzay gemisi, mermiler ve animasyonlu uzaylılar için sprite uygulamak için yeterlidir. Spritelar 5x4 ve karakterler 5x8 olduğundan, "uzay gemisi ve mermi" hareketli grafiği, "uzaylı ve mermi hareketli grafiği" gibi iki hareketli karaktere ihtiyacımız olacak. Tüm özel karakterler resimde gösterilmektedir.
Adım 2: İşlem Düğmeleri
Tipik olarak, bir LCD ekrandaki tüm düğmeler aynı analog pime bağlanır. LCD ekranının farklı sürümleri vardır, bu nedenle düğme işleme kodumda tamsayı değişmezlerini muhtemelen biraz değiştirmeniz gerekecek.
3. Adım: Sınıflar Hiyerarşisi
Koordinatları ve hız alanları olan ve çarpışmaları işleyen temel bir GameObject sınıfı uyguladım. Gemi, Uzaylı ve Mermi sınıfları ondan miras alınır.
4. Adım: Ekranı Güncelleme
Oluşturma mantığı biraz karmaşık görünebilir çünkü 16x4 oyun mantığını 16x2 ekrana dönüştürmemiz gerekiyor. Daha fazla referans için lütfen koddaki yorumları okuyun. Titremeyi önlemek için metin arabelleği olarak iki boyutlu bir karakter dizisi kullandım. Ekranı güncellemek için birkaç (her satır için bir tane) yazdırma işleminin kullanılmasına izin verir.
Adım 5: Oyun Mantığı
İşte oyunun kalbi. Ana döngü, tüm nesnelerin koordinatlarını değiştirir, her türlü çarpışmayı ve düğmeye basma olaylarını kontrol eder. Uzaylıların hızı ve atış olasılıkları seviyeden seviyeye artar. Ancak puan ödülü de artar.
Adım 6: Bir Paskalya Yumurtası
42 levelden sonra level yok. Cidden. Bu, Yaşamın, Evrenin ve Her Şeyin Nihai Seviyesidir.:)
Önerilen:
TinkerCad Codeblock'ta Bir Uzay İstasyonu Oluşturun--Kolay Eğitim: 7 Adım (Resimlerle)
TinkerCad Codeblock'ta Bir Uzay İstasyonu Yaratın||Kolay Eğitim: Uzayda yaşama düşüncesi bilimkurgu gibi görünse de, siz bunu okurken Uluslararası Uzay İstasyonu saniyede beş mil hızla dünyanın etrafında dönüyor ve dünyanın etrafında bir kez dönüyor her 90 dakikada bir. Bu projede öğreneceğiniz
Uzay Canavarları - Etkileşimli Bir Tablo: 8 Adım (Resimlerle)
Uzay Canavarları - Etkileşimli Bir Resim: "HAYIR!" bir resme dokunmak istediğinde? Dokunabileceğin bir tane yapalım
PC için Visual Script Kullanarak Unreal Engine 4'te Karakter Denetleyicisi ile 2d Karakter Nasıl Oluşturulur: 11 Adım
Unreal Engine 4'te Karakter Denetleyicisi ile 2d Karakter Nasıl Oluşturulur PC için Görsel Komut Dosyası Kullanılır: PC için görsel komut dosyası kullanılarak Unreal engine 4'te karakter denetleyicisi ile 2d Karakter nasıl oluşturulur Merhaba, ben Jordan Steltz. 15 yaşımdan beri video oyunları geliştiriyorum. Bu eğitim size içinde temel bir karakterin nasıl oluşturulacağını öğretecek
El Boyalı Retro/Uzay Temalı Oyun Salonu Dolabı: 6 Adım (Resimli)
Elle Boyanmış Retro/Uzay Temalı Oyun Salonu Dolabı: Kendi Uzay/Retro Oyun temalı Masaüstü Retro arcade dolabınızı yaratma rehberime hoş geldiniz! Bu Eğitim Tablosu için ihtiyacınız olacak: Raspberry Pi 3 veya 2 Board (RSComponents veya Pimoroni) £28- Raspberry Pi'yi Güçlendirmek için 34 Mikro USB Kablosu 28-1
Uzay İstilacıları Karanlıkta Parlayan Avize Aksiyon: 16 Adım (Resimlerle)
Karanlıkta Glow ile Space Invaders Avize: Yüksek stil ve retro havalı uzay istilacıları avizesi veya lambası yapmak için 3D modelleme/baskı, lazerle kesilmiş akrilik, reçine döküm, UV reaktif pigment, LED'ler ve bazı basit kablolama kullanın. Lazer cu'dan kavisli köşeler yapmak için güzel bir numara ekledim