Daftar Isi:

LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2: 7 Langkah
LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2: 7 Langkah

Video: LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2: 7 Langkah

Video: LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2: 7 Langkah
Video: Урок 13 — Модуль аналогового джойстика 2024, Juli
Anonim
LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2
LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2
LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2
LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2
LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2
LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2
LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2
LCD Invaders: Space Invaders Seperti Game di Layar Karakter LCD 16x2

Tidak perlu memperkenalkan game "Space Invaders" yang legendaris. Fitur yang paling menarik dari proyek ini adalah menggunakan tampilan teks untuk output grafis. Hal ini dicapai dengan menerapkan 8 karakter kustom.

Anda dapat mengunduh sketsa Arduino lengkap di sini:

github.com/arduinocelentano/LCD_invaders/

Perlengkapan

Papan Arduino UNO

Pelindung tombol LCD

Kabel USB untuk mengunggah sketsa

Langkah 1: Desain Game

Desain permainan
Desain permainan

Layar tidak memungkinkan untuk mengontrol piksel terpisah dan hanya menyediakan dua baris teks yang tidak cukup untuk permainan. Tetapi memungkinkan untuk mengimplementasikan hingga 8 karakter khusus. Caranya adalah dengan memproses setiap karakter berukuran 5x8 piksel sebagai dua sel game berukuran 5x4 piksel. Artinya, kami akan memiliki bidang permainan 16x4, yang masuk akal. 8 karakter cukup untuk mengimplementasikan sprite untuk pesawat ruang angkasa, peluru, dan alien animasi pemain. Karena sprite berukuran 5x4 dan karakternya berukuran 5x8, kita memerlukan beberapa karakter dengan dua sprite seperti sprite "pesawat luar angkasa dan peluru", "alien dan sprite peluru", dll. Semua karakter khusus ditampilkan pada gambar.

Langkah 2: Tombol Pemrosesan

Tombol Pemrosesan
Tombol Pemrosesan

Biasanya, semua tombol pada pelindung LCD terhubung ke pin analog yang sama. Ada berbagai versi pelindung LCD, jadi Anda mungkin perlu sedikit mengubah literal integer dalam kode pemrosesan tombol saya.

Langkah 3: Hirarki Kelas

Hirarki Kelas
Hirarki Kelas

Saya telah menerapkan GameObject kelas dasar yang memiliki bidang koordinat dan kecepatan serta memproses tabrakan. Kelas Kapal, Alien, dan Peluru diwarisi darinya.

Langkah 4: Memperbarui Layar

Memperbarui Layar
Memperbarui Layar

Logika rendering mungkin terlihat agak rumit karena kita harus mengubah logika game 16x4 menjadi tampilan 16x2. Silakan baca komentar dalam kode untuk referensi lebih lanjut. Untuk menghindari kedipan, saya menggunakan array char dua dimensi sebagai buffer teks. Hal ini memungkinkan untuk menggunakan beberapa (satu untuk setiap baris) operasi cetak untuk memperbarui layar.

Langkah 5: Logika Permainan

Logika Permainan
Logika Permainan

Berikut adalah inti dari permainan. Loop utama mengubah koordinat semua objek, memeriksa semua jenis tabrakan dan peristiwa penekanan tombol. Kecepatan alien dan kemungkinan menembak mereka meningkat dari level ke level. Tapi hadiah skor meningkat juga.

Langkah 6: Telur Paskah

Telur Paskah
Telur Paskah

Tidak ada level setelah level 42. Serius. Ini adalah Tingkat Kehidupan Tertinggi, Alam Semesta, dan Segalanya.:)

Direkomendasikan: