Mündəricat:
- Addım 1: GEREKLER
- Addım 2: SCHEMA
- Addım 3: KOD
- Addım 4: BITMAP -ı KODLAYIN
- Addım 5: Baxdığınız üçün təşəkkürlər
Video: Arduino Space Race Oyunun Versiyası _1: 5 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Salam dostlar. Bu gün sizə LCD5110 ekranı və joystic ilə Space Race Oyunu necə edə biləcəyinizi göstərmək istəyirəm.
Addım 1: GEREKLER
Bu layihəni hazırladığım hissələrin siyahısı:
- Arduino UNO
- Joystick Modulu
- Jumper telləri (kişidən kişiyə və kişidən qadına)
- Çörək lövhəsi
Addım 2: SCHEMA
VCC -> Arduino 5V
BL -> Arduino pin 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pin 8
DIN (MOSI) -> Arduino pin 9
DC -> Arduino pin 10
CE və ya CS -> Arduino pin 12
RST (SIFIRLA) -> Arduino pin 11
Addım 3: KOD
Kodda kod funksiyalarının izahları var. Asanlıqla başa düşəcəksiniz. Bir probleminiz varsa mənimlə əlaqə saxlaya bilərsiniz.
#daxil edin
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont ; // şriftləri təsvir edin extern uint8_t MediumNumbers ; xarici uint8_t vasitə ; // şəklimizi təsvir edin extern uint8_t dusman_araci ; // düşmən formasını təsbit edin const int xpin = A0; // joystick x pin char pozisyon = 2; // yeri təsvir edin, şəklimizin başlanğıc yeri 2 boolean kontrol = doğru; boolean dusmanOldu = doğru; int skor = 0; int hiz = 0; int dusmanKonumu1; // düşməni təsvir edin1 x yeri int dusmanKonumu2; // düşməni təsvir edin2 x yeri int dusmaninYdeKonumu; // düşmənlərin yerini təsvir edin
void dusmanAraci (int yer, int asama) {// düşmən formaları üçün yerləri təyin edin
if (yer == 1) {// əgər yer = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // düşmən şəklini çəkin} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } əgər (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// uğursuz olsaq, oyun bitər
isə (1) {gecikmə (100); // 1 milisaniyə gözləyin lcd.clrScr (); // ekranı təmizləyin lcd.setFont (SmallFont); // font font lcd.print ("OYUN OVER", MƏRKƏZ, 20); // çap lcd.update (); // ekranı yeniləyin}}
boş quraşdırma () {pinMode (BL, ÇIXIŞ); // işığı geri çəkin Çıxış lcd. InitLCD (); // lcd ekran lcd.setContrast (55) başlatın; // kontrastı təyin edin (0 ilə 127 arasında) Serial.begin (9600); // seriyalı ünsiyyətə başlayın}
boşluq döngəsi () {
analogWrite (BL, 200);
// oyun ekranını təyin edin lcd.drawRect (0, 0, 47, 47); // düzbucaqlı lcd.setFont (SmallFont) çəkirik; // font lcd.print ("skor", 53, 0) təyin edin; // printf skoru lcd.setFont (Medium Numbers); // font lcd.printNumI təyin edin (skor, 59, 7); // bal əldə edin lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // çap sürəti lcd.setFont (Medium Numbers); lcd.printNumI (hiz, 59, 32); // sürəti lcd.update () əldə edin; // yeniləmə
// joyistick yerini int x = analogRead (xpin) təyin edin; if (x <300 && pozisyon! = 1 && kontrol == doğru) {// əgər yer! = 1, x state600 && pozisyon! = 3 && kontrol == doğru) {// əgər yer! = 3, x vəziyyəti> 600 və nəzarət doğru pozisyon ++; // yerini artırmaq deməkdir ki, formanı sağa keçir = saxta; } başqa if (x> 300 && x <600) {kontrol = true; } Serial.println (x); // x vəziyyətini öyrənmək üçün // forma yerimizi təyin edin lcd.clrScr (); // ekranı təmizləyin, əgər (pozisyon == 1) {// yeri = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // gəmimizi çəkin əgər (pozisyon == 2) {lcd.drawBitmap (18, 37, vasitə, 12, 8);}
əgər (pozisyon == 3) {
lcd.drawBitmap (34, 37, vasitə, 12, 8);}
if (dusmanOldu) {// düşmən forması ölmüşsə, yox olduqlarını yoxlayın
dusmanKonumu1 = mövqe; // ilk düşmən şəklini çək dusmanKonumu2 = təsadüfi (0, 4); // bir yerə başqa bir düşmən şəkli çəkin dusmaninYdeKonumu = 0; // düşməni yuxarıdan gətir dusmanOldu = false;} // düşmən yenidən yaradılır ki, ölü olmasın dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // ilk düşmən şəklini çəkin və yuxarıdan aşağıya doğru alın dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // ikinci düşmən şəklini çəkin və yuxarıdan aşağıya doğru alın (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))) {// əgər şəklimiz düşmənə toxunarsa oyunBitti ();} // oyun bitdi, əgər (dusmaninYdeKonumu> 40) {// formamız düşmənlərdən qaçarsa dusmanOldu = doğru; // düşmən formalarını öldür skor ++;} // hesabı bir -bir artır.. // skora görə sürəti artır (əgər skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; gecikmə (40); }}
Addım 4: BITMAP -ı KODLAYIN
Bundan əlavə, şekiller üçün bitmap qrafikini daxil etməlisiniz. Bu bir.c faylı və kod adı ilə eyni ad olmalıdır. Eyni faylda olmalıdır.
// ------------------------------------------------ ------------------------------ // Fayl LCD köməkçisi tərəfindən yaradılmışdır // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // proqram funksiyası üçün daxildir
const unsigned char arac PROGMEM = {// forma bitmapimiz
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// düşmən gəmisinin bitmapi
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Addım 5: Baxdığınız üçün təşəkkürlər
Layihələrimi paylaşmağa başlamazdan əvvəl türkcə sözlərlə kodladım, buna görə hər sözümü ingilis dilinə təsadüf edə bilmədim. Burada bu layihəni istifadə etdiyim sözlərin tərcüməsi, Oyun = Oyun
Arac = Forma
Dusman = Düşmən
nəzarət = nəzarət
Konum, Yer = Yer
Oyun Bitti = Oyun bitdi
Skor = Qol
Hiz = Sürət
Tövsiyə:
Space Race Game Version 2: 5 Addımlar
Space Race Game Version 2: Salam hər kəs. Bu oyun versiyasından əvvəl oyunun ilk versiyasını nəşr etdim. Bu gün sizə Space Race Game 2 versiyasını göstərəcəyəm. Gəlin addımlara baxaq
Pythonda Əlavə Oyunun Kodlanması: 15 Addım
Python-da Əlavə Oyunun Kodlaşdırılması: Bu təlimat dəsti, istifadəçiləri 0-9-dan təsadüfi ədədlərdən istifadə edərək sadə əlavə problemlərinə cavab verməyə sövq edən və düzgün olub-olmadığını yazdıran əlavə oyunu necə proqramlaşdıracağınızı addım-addım öyrədəcək! böyütmək üçün hər addımdakı görüntü
PS4 Meme Oyunun Üz qabığı: 3 addım
PS4 Meme Game Cover: Memləri və bununla əlaqəli hər şeyi sevirik. Memes və oyunlara olan marağımıza görə bu Big Chungus PlayStation 4 oyun qapağını hazırlamağı seçdik. Adobe Illustrator -da oyun qapağımızı hazırladıq və xatirələri internetdən aldıq. Xara
Space Race: Uşaqlarla etmək üçün sadə Arduino Clicker Oyunu: 7 addım
Space Race: Uşaqlarla Birlikdə Olan Arduino Sadə Oyun: Bu gün necə işlədiyini göstərən bir video yükləyirəm! Uşaqlarla birlikdə hazırlana bilən və sonradan tək başına oyuncaq olaraq zövq ala biləcəyiniz bir yer mövzulu təlimatla əylənin. Onlara əməkdaşlıq haqqında tarix öyrətmək üçün bir vasitə kimi istifadə edə bilərsiniz
Oyunu satın almadan əvvəl kompüterinizdə bir oyunun işləyəcəyini necə yoxlamaq olar .: 4 addım
Oyunu satın almadan əvvəl kompüterinizdə bir oyunun işləyəcəyini necə yoxlamaq olar .: Bu yaxınlarda bir dostumdan Call of Duty 4 əldə etdim (pulsuz olaraq əlavə edə bilərəm) çünki kompüterində işləməyəcəkdi. Yaxşı, onun kompüteri kifayət qədər yenidir və niyə işləməməsi məni çaşdırdı. Bir neçə saat internetdə axtardıqdan sonra rastlaşdım