Mündəricat:

Space Race Game Version 2: 5 Addımlar
Space Race Game Version 2: 5 Addımlar

Video: Space Race Game Version 2: 5 Addımlar

Video: Space Race Game Version 2: 5 Addımlar
Video: Кто-нибудь из вас слышал о полуночной игре? Страшные истории. Мистика. Ужасы 2024, Noyabr
Anonim
Image
Image

Hamıya salam. 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əm.

Addım 1: hissələr

ŞEMA
ŞEMA

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

KOD
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, cin, dc,, ilk, ce)

boolean kontrol = doğru;

boolean dusmanoldu = doğru;

extern uint8_t SmallFont ; // şriftləri təsvir edin

extern uint8_t MediumNumbers ; xarici uint8_t vasitə ; // şəklimizi təsvir edin extern uint8_t dusmanAraci ; // düşmən formasını təsbit edin const int xpin = A0; // joystick x pin char pozisyon = 3; // yeri təsvir edin, formamızın başlanğıc yeri 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // düşməni təsvir edin1 x yeri int dusmankonum2; // düşməni təsvir edin2 x yeri int dusmankonum3; // düşməni təsvir edin3 x yeri int dusmankonum4; // düşməni təsvir edin4 x yeri int dusmankonum5; // düşməni təsvir edin5 x yeri int dusmaninYdekonumu;

void oyunEkrani () {// oyun ekranını təyin edin

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // düzbucaqlı lcd.setFont (SmallFont) çəkirik; // yazı tipi lcd.print ("skor", 57, 1); // çap lcd.print ("hiz", 60, 24); // çap sürəti lcd.setFont (Medium Numbers); // font lcd.printNumI təyin edin (skor, 55, 8); // lcd.printNumI xalı alın (hiz, 63, 32); // sürəti lcd.update () əldə edin; }

void dusmanAracidurum (int yer, int asama) {// düşmən formaları üçün yerləri təyin edin

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 düşmən bu məkanı şəkilləndirərsə (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 () {// uğursuz olsaq, oyun bitər

isə (1) {gecikmə (100); // 1 milisaniyə gözləyin lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", MƏRKƏZ, 8); // oyunu lcd.print üzərində çap et ("skorunuz =", 3, 30); // hesabınızı çap edin lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // son balı əldə edin lcd.update (); }}

boş quraşdırma () {

pinMode (BL, ÇIXIŞ); // işığı geri çəkin Çıxış pinMode (xpin, INPUT); // x pinini giriş lcd. InitLCD () olaraq təyin edin; // 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, 350); oyunEkrani ();

// joyistik vəziyyət… // joyistick yerini təyin et …

int durumx = analogRead (xpin); if (durumx <300 && pozisyon! = 1 && kontrol == doğru) {// əgər yer! = 1, x state600 && pozisyon! = 6 && 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; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // mövqe vəziyyəti… if (pozisyon == 1) {// yeri = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // əgər gəmimizi çəkin (pozisyon == 2) {lcd.drawBitmap (10, 41, vasitə, 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, vasitə, 7, 7); lcd.update ();}

if (dusmanoldu) {// düşmən forması ölmüşsə, yox olduqlarını yoxlayın

dusmankonum1 = mövqe; // ilk düşmən şəklini çək dusmankonum2 = təsadüfi (0, 6); // bir yerə başqa bir düşmən şəkli çək dusmankonum3 = təsadüfi (0, 6); dusmankonum4 = təsadüfi (0, 6); dusmankonum5 = təsadüfi (0, 6); dusmaninYdekonumu = 0; // düşməni yuxarıdan gətir dusmanoldu = false;} // düşmən yenidən yaradılır ki, ölməsinlər

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // ilk düşmən şəklini çəkin və yuxarıdan aşağıya doğru alın

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // ikinci düşmən şəklini çək və yuxarıdan aşağıya dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) //); // oyun bitdi}

if (dusmaninYdekonumu> 42) {// formamız düşmənlərdən qaçsa

dusmanoldu = doğru; // düşmən formalarını öldür++; // hesabı bir -bir artırmaq}

// skora gore hizi artirırıq // skora görə sürəti artırın

əgər (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; gecikmə (5); }

}

Addım 4: BITMAP -ı KODLAYIN

Bundan əlavə, şekiller üçün bitmap qrafikini daxil etməlisiniz. Bir c fayl olmalıdır.

Proqram funksiyası üçün #include // include

const unsigned char arac PROGMEM = {// forma bitmapimiz

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};

const unsigned char dusmanAraci PROGMEM = {// düşmən gəmisinin bitmapi

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};

Addım 5: Baxdığınız üçün təşəkkürlər

Bəzi sözlərin mənası:

Oyun => Oyun

Arac => Forma

Dusman => Düşmən

kontrol => nəzarət

Konum, Yer => Yer

Oyun Bitti => Oyun bitdi

Skor => Qol

Hiz => Sürət

Tövsiyə: