Isi kandungan:

LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2: 7 Langkah
LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2: 7 Langkah

Video: LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2: 7 Langkah

Video: LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2: 7 Langkah
Video: The World’s Smallest Game Boy 2024, Jun
Anonim
LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2
LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2
LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2
LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2
LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2
LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2
LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2
LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2

Tidak perlu memperkenalkan permainan "Space Invaders" yang legendaris. Ciri yang paling menarik dari projek ini ialah ia menggunakan paparan teks untuk output grafik. Ia dicapai dengan menerapkan 8 watak tersuai.

Anda boleh memuat turun lakaran Arduino lengkap di sini:

github.com/arduinocelentano/LCD_invaders/

Bekalan

Papan Arduino UNO

Perisai papan kekunci LCD

Kabel USB untuk memuat naik lakaran

Langkah 1: Reka Bentuk Permainan

Reka Bentuk Permainan
Reka Bentuk Permainan

Skrin tidak memungkinkan untuk mengawal piksel yang terpisah dan hanya menyediakan dua baris teks yang tidak cukup untuk permainan. Tetapi ia memungkinkan untuk menerapkan hingga 8 watak tersuai. Caranya adalah dengan memproses setiap watak 5x8 piksel sebagai dua sel permainan 5x4 piksel. Maksudnya, kita akan mempunyai medan permainan 16x4, yang masuk akal. 8 watak cukup untuk melaksanakan sprite untuk kapal angkasa pemain, peluru dan makhluk animasi. Oleh kerana sprite berukuran 5x4 dan wataknya adalah 5x8, kita memerlukan beberapa watak dengan dua sprite seperti sprite "kapal angkasa dan peluru", "sprite alien dan peluru" dll. Semua watak tersuai ditunjukkan pada gambar.

Langkah 2: Memproses Butang

Butang Memproses
Butang Memproses

Biasanya, semua butang pada pelindung LCD disambungkan ke pin analog yang sama. Terdapat pelbagai versi pelindung LCD, jadi anda mungkin perlu sedikit mengubah literatur bilangan bulat dalam kod pemprosesan butang saya.

Langkah 3: Hierarki Kelas

Hierarki Kelas
Hierarki Kelas

Saya telah melaksanakan GameObject kelas asas yang mempunyai koordinat dan medan kelajuan dan memproses perlanggaran. Kelas Kapal, Alien dan Peluru diwarisi daripadanya.

Langkah 4: Mengemas kini Skrin

Mengemas kini Skrin
Mengemas kini Skrin

Logik rendering mungkin kelihatan agak rumit kerana kita harus mengubah logik permainan 16x4 menjadi paparan 16x2. Sila baca komen dalam kod untuk rujukan lebih lanjut. Untuk mengelakkan kerlipan, saya menggunakan array char dua dimensi sebagai penyangga teks. Ini memungkinkan untuk menggunakan beberapa (satu untuk setiap baris) operasi cetak untuk mengemas kini skrin.

Langkah 5: Logik Permainan

Logik Permainan
Logik Permainan

Inilah inti permainan. Gelung utama mengubah koordinat semua objek, memeriksa pelbagai perlanggaran dan peristiwa tekan butang. Kelajuan makhluk asing dan kebarangkalian menembak mereka meningkat dari tahap ke tahap. Tetapi ganjaran skor juga meningkat.

Langkah 6: Telur Paskah

Telur Paskah
Telur Paskah

Tidak ada tahap selepas tahap 42. Serius. Ini adalah Tahap Kehidupan, Alam Semesta, dan Segala-galanya.:)

Disyorkan: