Isi kandungan:
- Langkah 1: BAHAGIAN
- Langkah 2: SKIM
- Langkah 3: KOD
- Langkah 4: KOD BITMAP
- Langkah 5: Terima kasih kerana Melihat
Video: Space Race Game Versi 2: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
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…
Langkah 1: BAHAGIAN
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, cin, dc,, rst, ce)
boolean kontrol = benar;
boolean dusmanoldu = benar;
luaran uint8_t SmallFont ; // terangkan fon
extern uint8_t MediumNumbers ; luaran uint8_t arac ; // terangkan bentuk kami luaran uint8_t dusmanAraci ; // menghuraikan bentuk musuh const int xpin = A0; // kayu bedik x pin char pozisyon = 3; // terangkan lokasi, bentuk kami mula lokasi 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // terangkan musuh1 x lokasi int dusmankonum2; // terangkan musuh2 x lokasi int dusmankonum3; // terangkan musuh3 x lokasi int dusmankonum4; // menerangkan lokasi musuh4 x int dusmankonum5; // terangkan musuh5 x lokasi int dusmaninYdekonumu;
batal oyunEkrani () {// tetapkan skrin permainan
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // kami melukis segi empat tepat lcd.setFont (SmallFont); // tetapkan font lcd.print ("skor", 57, 1); // skor cetak lcd.print ("hiz", 60, 24); // laju cetak lcd.setFont (Nombor Sederhana); // tetapkan font lcd.printNumI (skor, 55, 8); // dapatkan skor lcd.printNumI (hiz, 63, 32); // dapatkan kelajuan lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// tetapkan lokasi untuk bentuk musuh
if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // jika lokasi = 1 lukis musuh membentuk lokasi ini jika (yer == 2) {lcd.drawBitmap (10, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 3) {lcd.drawBitmap (18, asama, dusmanAraci, 7, 7); lcd.update (); } if (yer == 4) {lcd.drawBitmap (26, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 5) {lcd.drawBitmap (34, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 6) {lcd.drawBitmap (42, asama, dusmanAraci, 7, 7); lcd.update ();}}
batal oyunbitti () {// jika kita gagal, permainan akan berakhir
sementara (1) {kelewatan (100); // tunggu 1 milisaat lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", PUSAT, 8); // mencetak permainan melalui lcd.print ("skorunuz =", 3, 30); // cetak skor anda lcd.setFont (Nombor Sederhana); lcd.printNumI (skor, 60, 25); // dapatkan skor terakhir lcd.update (); }}
batal persediaan () {
pinMode (BL, OUTPUT); // tetapkan lampu belakang Output pinMode (xpin, INPUT); // tetapkan pin pin sebagai input lcd. InitLCD (); // masukkan skrin lcd lcd.setContrast (55); // tetapkan kontras (antara 0 hingga 127) Serial.begin (9600); // mulakan komunikasi bersiri}
gelung kosong () {
analogWrite (BL, 350); oyunEkrani ();
// sukacita durumu… // tetapkan lokasi Joyistick…
int durumx = analogRead (xpin); jika (durumx <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 6 && 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 (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // keadaan kedudukan… jika (pozisyon == 1) {// jika lokasi = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // tarik kapal kami jika (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 4) {lcd.drawBitmap (26, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 5) {lcd.drawBitmap (34, 41, arac, 7, 7); lcd.update ();} jika (pozisyon == 6) {lcd.drawBitmap (42, 41, arac, 7, 7); lcd.update ();}
jika (dusmanoldu) {// jika bentuk musuh sudah mati, periksa apakah mereka sudah mati
dusmankonum1 = pozisyon; // lukis bentuk musuh pertama dusmankonum2 = rawak (0, 6); // lukiskan bentuk musuh lain di suatu tempat dusmankonum3 = rawak (0, 6); dusmankonum4 = rawak (0, 6); dusmankonum5 = rawak (0, 6); dusmaninYdekonumu = 0; // bawa musuh dari atas dusmanoldu = false;} // musuh diciptakan semula supaya mereka tidak mati
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // lukiskan bentuk musuh pertama dan dapatkan dari atas ke bawah
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // lukis bentuk musuh kedua dan dapatkannya dari atas ke bawah dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// jika bentuk kita menyentuh musuh membentuk oyunbitt); //permainan telah tamat }
jika (dusmaninYdekonumu> 42) {// jika bentuk kita melarikan diri dari musuh
dusmanoldu = benar; // bunuh musuh bentuk skor ++; // tingkatkan satu demi satu skor}
// skora gore hizi artiriyoruz // tingkatkan kelajuan mengikut skor
jika (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; kelewatan (5); }
}
Langkah 4: KOD BITMAP
Tambahan pula, anda mesti memasukkan grafik bitmap untuk bentuk. Ia mestilah fail.c.
#sertakan // sertakan untuk fungsi progmem
const unsigned char arac PROGMEM = {// bentuk bitmap kami
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// bitmap kapal musuh
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Langkah 5: Terima kasih kerana Melihat
Maksud beberapa perkataan:
Oyun => Permainan
Arac => Bentuk
Dusman => Musuh
kawalan => kawalan
Konum, Yer => Lokasi
Oyun Bitti => Permainan Selesai
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
Arduino Space Race Game Versi _1: 5 Langkah
Arduino Space Race Game Versi _1: 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
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
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