Isi kandungan:
- Langkah 1: KEPERLUAN
- Langkah 2: SKIM
- Langkah 3: KOD
- Langkah 4: KOD BITMAP
- Langkah 5: TERIMA KASIH MELIHAT
Video: Arduino Space Race Game Versi _1: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Hai kawan-kawan. Hari ini saya ingin menunjukkan kepada anda bagaimana anda dapat membuat Space Race Game dengan layar LCD5110 dan kegembiraan. Mari lihat langkah-langkahnya…
Langkah 1: KEPERLUAN
Berikut adalah senarai bahagian yang saya gunakan untuk membuat projek ini:
- Arduino UNO
- Modul Joystick
- Jumper Wires (lelaki hingga lelaki dan lelaki hingga perempuan)
- Papan roti
Langkah 2: SKIM
VCC -> Arduino 5V
BL -> Pin Arduino 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pin 8
DIN (MOSI) -> Pin Arduino 9
DC -> Pin Arduino 10
CE atau CS -> Pin Arduino 12
RST (RESET) -> Arduino pin 11
Langkah 3: KOD
Kod tersebut mempunyai penjelasan mengenai fungsi kod. Anda akan mudah memahaminya. Sekiranya anda mempunyai masalah, anda boleh menghubungi saya.
#sertakan
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
luaran uint8_t SmallFont ; // terangkan fon luaran uint8_t MediumNumbers ; luaran uint8_t arac ; // terangkan bentuk kami luaran uint8_t dusman_araci ; // menghuraikan bentuk musuh const int xpin = A0; // kayu bedik x pin char pozisyon = 2; // terangkan lokasi, bentuk kami mulai lokasi 2 boolean kontrol = true; boolean dusmanOldu = benar; int skor = 0; int hiz = 0; int dusmanKonumu1; // terangkan musuh1 x lokasi int dusmanKonumu2; // terangkan musuh2 x lokasi int dusmaninYdeKonumu; // menerangkan musuh dan lokasi
batal dusmanAraci (int yer, int asama) {// tetapkan lokasi untuk bentuk musuh
jika (yer == 1) {// jika lokasi = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // lukis bentuk musuh} jika (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } jika (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
batal oyunBitti () {// jika kita gagal, permainan akan berakhir
sementara (1) {kelewatan (100); // tunggu 1 milisaat lcd.clrScr (); // kosongkan skrin lcd.setFont (SmallFont); // tetapkan font lcd.print ("GAME OVER", PUSAT, 20); // cetak lcd.update (); // kemas kini skrin}}
batal persediaan () {pinMode (BL, OUTPUT); // tetapkan lampu belakang Output lcd. InitLCD (); // masukkan skrin lcd lcd.setContrast (55); // tetapkan kontras (antara 0 hingga 127) Serial.begin (9600); // mulakan komunikasi bersiri}
gelung kosong () {
analogWrite (BL, 200);
// tetapkan skrin permainan lcd.drawRect (0, 0, 47, 47); // kami melukis segi empat tepat lcd.setFont (SmallFont); // tetapkan font lcd.print ("skor", 53, 0); // printf skor lcd.setFont (Nombor Sederhana); // tetapkan font lcd.printNumI (skor, 59, 7); // dapatkan skor lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // laju cetak lcd.setFont (Nombor Sederhana); lcd.printNumI (hiz, 59, 32); // dapatkan kelajuan lcd.update (); // kemas kini
// tetapkan lokasi Joyistick int x = analogRead (xpin); jika (x <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// if location! = 3, x state> 600 dan kawalan adalah benar pozisyon ++; // tingkatkan lokasi itu artinya pindah bentuk ke kontrol kanan = false; } lain jika (x> 300 && x <600) {kontrol = true; } Bersiri.println (x); // untuk pembelajaran x keadaan // tetapkan bentuk bentuk kita lcd.clrScr (); // kosongkan skrin jika (pozisyon == 1) {// jika lokasi = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // tarik kapal kami jika (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
jika (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
jika (dusmanOldu) {// jika bentuk musuh sudah mati, periksa apakah mereka sudah mati
dusmanKonumu1 = pozisyon; // lukis bentuk musuh pertama dusmanKonumu2 = rawak (0, 4); // lukiskan bentuk musuh yang lain di suatu tempat dusmaninYdeKonumu = 0; // bawa musuh dari atas dusmanOldu = false;} // musuh diciptakan semula supaya mereka tidak mati dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // lukis bentuk musuh pertama dan dapatkan dari atas ke bawah dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // lukis bentuk musuh kedua dan dapatkan dari atas ke bawah jika (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon)))) {// jika bentuk kita menyentuh musuh membentuk oyunBitti ();} // permainan tamat jika (dusmaninYdeKonumu> 40) {// jika bentuk kita melarikan diri dari musuh dusmanOldu = true; // bunuh musuh bentuk skor ++;} // tingkatkan satu persatu skor // tingkatkan kelajuan mengikut skor jika (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; kelewatan (40); }}
Langkah 4: KOD BITMAP
Selain itu, anda mesti memasukkan grafik bitmap untuk bentuk. Ia mestilah fail.c dan nama yang sama dengan nama kod. Juga, ia mesti berada dalam fail yang sama.
// ------------------------------------------------ ------------------------------ // Fail dihasilkan oleh Pembantu LCD // https://en.radzio.dxp.pl / bitmap_converter / // --------------------------------------------- --------------------------------- #masuk // sertakan untuk fungsi progmem
const unsigned char arac PROGMEM = {// bentuk bitmap kami
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// bitmap kapal musuh
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Langkah 5: TERIMA KASIH MELIHAT
Sebelum saya mula berkongsi projek saya, saya mengodkan kata-kata dalam bahasa Turki sehingga saya tidak berpeluang menggunakan kata-kata dalam bahasa Inggeris. Berikut adalah terjemahan perkataan yang menggunakan projek ini, Oyun = Permainan
Arac = Bentuk
Dusman = Musuh
kawalan = kawalan
Konum, Yer = Lokasi
Oyun Bitti = Permainan Tamat
Skor = Skor
Hiz = Kelajuan
Disyorkan:
LCD Invaders: Space Space Invaders Like Game pada Paparan Karakter LCD 16x2: 7 Langkah
LCD Invaders: Space Space Invaders Like Game pada 16x2 LCD Character Display: 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 Arduino lengkap
8x16 LED Matrix Pong Game (2 Paddles Per Player Versi): 3 Langkah
8x16 LED Matrix Pong Game (2 Paddles Per Player Version): Saya telah terinspirasi oleh banyak variasi permainan Pong klasik yang dilaksanakan di Arduino menggunakan matriks LED 8x8. Dalam arahan ini, saya akan menunjukkan kepada anda bagaimana untuk membina versi Pong kegemaran saya yang mempunyai dua dayung - penyerang dan penjaga gol - setiap pemain
Space Race Game Versi 2: 5 Langkah
Space Race Game Versi 2: Hai semua. Sebelum versi permainan ini, saya telah menerbitkan versi permainan pertama. Hari ini, saya akan menunjukkan kepada anda Space Race Game versi 2. Mari lihat langkah-langkahnya
Antaramuka Langkah MIDI (versi En Español): 12 Langkah
MIDI Step Interface (versi En Español): Versi dalam bahasa yang lebih baik. Sebolehnya diarahkan untuk mendapatkan petunjuk, una plataforma interactiva de luz y sonido, que puede ser usada para jugar el famoso "Simon Says" al igual que como un controlador MIDI. Ambos modos operados con los pies! Antesede
Space Race: Permainan Arduino Clicker Sederhana untuk Membuat Dengan Anak-anak: 7 Langkah
Space Race: Game Arduino Simple Clicker untuk Membuat Dengan Anak-anak: ¡ Saya memuat naik video yang menunjukkan bagaimana ia berfungsi hari ini! Nantikan bersama-sama dengan instruksi bertema ruang yang boleh dibuat bersama dengan anak-anak, dan kemudian dapat dinikmati oleh mereka sendiri sebagai mainan. Anda boleh menggunakannya sebagai kaedah untuk mengajar mereka sejarah mengenai