Daftar Isi:
- Langkah 1: BAGIAN
- Langkah 2: SKEMA
- Langkah 3: KODE
- Langkah 4: KODE BITMAP
- Langkah 5: Terima kasih telah Melihat
Video: Game Balap Luar Angkasa Versi 2: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Hai semuanya. Sebelum versi game ini, menerbitkan game versi pertama. Hari ini, akan menampilkan Game Space Race versi 2. Mari kita lihat langkah-langkahnya…
Langkah 1: BAGIAN
Berikut adalah daftar bagian yang saya gunakan untuk membuat proyek ini:
- Arduino UNO
- Modul Joystick
- Kabel Jumper (jantan ke jantan dan jantan ke betina)
- Papan tempat memotong roti
Langkah 2: SKEMA
VCC -> Arduino 5V
BL -> Pin Arduino 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pin 8
DIN (MOSI) -> Arduino pin 9
DC -> Pin Arduino 10
CE atau CS -> Arduino pin 12
RST (RESET) -> Arduino pin 11
Langkah 3: KODE
Kode memiliki penjelasan fungsi kode. Anda akan dengan mudah memahaminya. Jika Anda memiliki masalah, Anda dapat menghubungi saya.
#termasuk
LCD5110 lcd (8, 9, 10, 11, 12); //(clk, cin, dc,, pertama, ce)
boolean kontrol=true;
boolean dusmanoldu=benar;
extern uint8_t SmallFont; //deskripsikan fontnya
extern uint8_t MediumNumbers; extern uint8_t arac; //deskripsikan bentuk kita extern uint8_t dusmanAraci; //desribe bentuk musuh const int xpin=A0; //joystick x pin char pozisyon=3; //deskripsikan lokasi, bentuk kita mulai lokasi 3 int BL=3; int skor=0; int hiz=0; int dusmankonum1; //deskripsikan lokasi musuh1 x int dusmankonum2; //deskripsikan lokasi musuh2 x int dusmankonum3; //deskripsikan lokasi musuh3 x int dusmankonum4; //deskripsikan lokasi musuh4 x int dusmankonum5; //deskripsikan lokasi musuh5 x int dusmaninYdekonumu;
void oyunEkrani(){ //mengatur layar permainan
lcd.clrScr(); lcd.drawRect(0, 0, 47, 47); //kita menggambar persegi panjang lcd.setFont(SmallFont); //set font lcd.print("skor", 57, 1); //cetak skor lcd.print("hiz", 60, 24); //kecepatan cetak lcd.setFont(Angka Sedang); //set font lcd.printNumI(skor, 55, 8); //mendapatkan skor lcd.printNumI(hiz, 63, 32); //mendapatkan kecepatan lcd.update(); }
void dusmanAracidurum(int yer, int asama){ //set lokasi untuk bentuk musuh
if(yer==1){ lcd.drawBitmap(2, asama, dusmanAraci, 7, 7);lcd.update();}//if location=1 gambar musuh bentuk lokasi ini if(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();} }
void oyunbitti(){ //jika kita gagal, game over
while(1){ penundaan(100); //tunggu 1 milidetik lcd.clrScr(); lcd.setFont(Font Kecil); lcd.print("OYUN BITTI", TENGAH, 8); //cetak game melalui lcd.print("skorunuz=", 3, 30); //cetak skor Anda lcd.setFont(MediumNumbers); lcd.printNumI(skor, 60, 25); //dapatkan skor terakhir lcd.update(); } }
batalkan pengaturan() {
pinMode(BL, OUTPUT); //set back light Output pinMode(xpin, INPUT); //set x pin sebagai input lcd. InitLCD(); //inisialisasi layar lcd lcd.setContrast(55); //set kontras(sekitar 0 sampai 127) Serial.begin(9600); //mulai komunikasi serial }
lingkaran kosong() {
analogWrite(BL, 350); oyunEkrani();
//joyistic durumu… //set lokasi joyistick…
int durumx=analogRead(xpin); if(durumx <300 && pozisyon!=1 && kontrol==true){ //if location!=1, x state600 && pozisyon!=6 && kontrol==true){ //if location!=3, x state> 600 dan kontrol benar pozisyon++; //menambah lokasi artinya pindah bentuk ke kanan kontrol=false; } else if(durumx >300 && durumx <600){ kontrol=true; } //pozisyon durumu… //status posisi… if(pozisyon==1){ //if lokasi=1; lcd.drawBitmap(2, 41, arac, 7, 7);lcd.update();}//draw kapal kita if(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();} if(pozisyon ==6){ lcd.drawBitmap(42, 41, arac, 7, 7);lcd.update();}
if(dusmanoldu){ //jika bentuk musuh sudah mati, periksa apakah mereka mati
dusmankonum1=pozisyon; //gambar bentuk musuh pertama dusmankonum2=random(0, 6);//gambar bentuk musuh lain di suatu tempat dusmankonum3=random(0, 6); dusmankonum4=acak(0, 6); dusmankonum5=acak(0, 6); dusmaninYdekonumu=0; //bawa musuh dari atas dusmanoldu=false;} //musuh dibuat ulang agar tidak mati
dusmanAracidurum(dusmankonum1, dusmaninYdekonumu);dusmaninYdekonumu++; //gambar bentuk musuh pertama dan ambil dari atas ke bawah
dusmanAracidurum(dusmankonum2, dusmaninYdekonumu);dusmaninYdekonumu++; //gambar bentuk musuh kedua dan ambil 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 bentuk musuh oyunbitti(); //permainan selesai }
if(dusmaninYdekonumu >42){//jika bentuk kita lolos dari musuh
dusmanoldu = benar; //membunuh musuh membentuk skor++; //menambahkan skor satu per satu }
//skora gore hizi artiriyoruz //menambah kecepatan sesuai skor
if (skor>=0 && skor=10 && skor=20 && skor=30 && skor=40 && skor=50){ hiz=6; penundaan (5); }
}
Langkah 4: KODE BITMAP
Selanjutnya, Anda harus menyertakan grafik bitmap untuk bentuk. Ini harus berupa file.c.
#include //sertakan untuk fungsi progmem
const unsigned char arac PROGMEM = { //bitmap bentuk kita
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 telah Melihat
Arti dari beberapa kata:
Oyun => Permainan
Arac => Bentuk
Dusman => Musuh
kendali => kendalikan
Konum, Yer => Lokasi
Oyun Bitti => Permainan Berakhir
Skor => Skor
Hiz => Kecepatan
Direkomendasikan:
Membuat Stasiun Luar Angkasa di TinkerCad Codeblock--Tutorial Mudah: 7 Langkah (dengan Gambar)
Membuat Stasiun Luar Angkasa di Blok Kode TinkerCad||Tutorial Mudah: Meskipun pemikiran tentang hidup di luar angkasa mungkin tampak seperti fiksi ilmiah, saat Anda membaca ini, Stasiun Luar Angkasa Internasional mengitari bumi dengan kecepatan lima mil per detik, mengorbit bumi sekali setiap 90 menit. Dalam proyek ini Anda akan belajar
Antarmuka Pesawat Luar Angkasa Arduino: 3 Langkah
Antarmuka Pesawat Luar Angkasa Arduino: Hai komunitas yang dapat diinstruksikan, Kali ini saya telah membuat salah satu proyek paling sederhana untuk diselesaikan dengan Arduino Uno: sirkuit pesawat ruang angkasa. Disebut demikian karena ini adalah jenis program dan sirkuit yang akan digunakan dalam acara TV dan film sci-fi awal
E-Ink: Bulan / ISS / Orang di Luar Angkasa : 6 Langkah
E-Ink: Bulan / ISS / People in Space…: Saya memiliki Raspberry dan e-Paper HAT dan saya ingin menggunakannya untuk menunjukkan informasi seperti di mana ISS atau berapa banyak orang sekarang di luar angkasa.. .Saya menyatakan untuk mencari apakah ada API di Internet untuk mendapatkan data tersebut, dan saya menemukannya. Oke, mengerti !!!!Tunggu
Game Balap Luar Angkasa Arduino Versi _1: 5 Langkah
Game Balap Luar Angkasa Arduino Versi _1: Hai teman-teman. Hari ini saya akan menunjukkan kepada Anda bagaimana Anda bisa membuat Game Space Race dengan layar LCD5110 dan joystic. Mari kita lihat langkah-langkahnya
Tingkatkan Peluncuran Luar Angkasa Anda Dengan Tombol Pementasan Fisik untuk Program Luar Angkasa Kerbal: 6 Langkah
Tingkatkan Peluncuran Luar Angkasa Anda Dengan Tombol Pementasan Fisik untuk Program Luar Angkasa Kerbal: Saya baru-baru ini mengambil versi demo Program Luar Angkasa Kerbal. Program Luar Angkasa Kerbal adalah gim simulator yang memungkinkan Anda merancang dan meluncurkan roket serta menavigasinya ke bulan dan planet yang jauh. Saya masih mencoba untuk berhasil mendarat di bulan (o