Sadržaj:

Igra Space Race verzija 2: 5 koraka
Igra Space Race verzija 2: 5 koraka

Video: Igra Space Race verzija 2: 5 koraka

Video: Igra Space Race verzija 2: 5 koraka
Video: Дедушка не выдержал и дал ответ за Украинский флаг 2024, Novembar
Anonim
Image
Image

Zdravo svima. Prije ove verzije igre, objavio sam prvu verziju igre. Danas ću vam pokazati Space Race Game verziju 2. Pogledajmo korake …

Korak 1: DIJELOVI

SHEMA
SHEMA

Evo popisa dijelova koje sam koristio za izradu ovog projekta:

  • Arduino UNO
  • Joystick Module
  • Kratkospojne žice (muški na muški i muški na ženski)
  • Breadboard

Korak 2: SHEMA

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 ili CS -> Arduino pin 12

RST (RESET) -> Arduino pin 11

Korak 3: KOD

CODE
CODE

Kod ima objašnjenja funkcija koda. Lako ćete to razumjeti. Ako imate problem, možete me kontaktirati.

#include

LCD5110 LCD (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)

boolean control = true;

boolean dusmanoldu = true;

extern uint8_t SmallFont ; // opisuje fontove

extern uint8_t Srednji brojevi ; extern uint8_t arac ; // opisuje naš oblik extern uint8_t dusmanAraci ; // opis neprijateljskog oblika const int xpin = A0; // joystick x pin char pozisyon = 3; // opisuje lokaciju, početnu lokaciju našeg oblika 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // opišite neprijatelja1 x lokacija int dusmankonum2; // opišite neprijatelja2 x lokaciju int dusmankonum3; // opisuje neprijatelja3 x lokacija int dusmankonum4; // opišite neprijatelja4 x lokaciju int dusmankonum5; // opišite neprijatelja5 x lokaciju int dusmaninYdekonumu;

void oyunEkrani () {// postavlja ekran igre

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // crtamo pravokutnik lcd.setFont (SmallFont); // postavljanje fonta lcd.print ("skor", 57, 1); // ispis rezultata lcd.print ("hiz", 60, 24); // brzina ispisa lcd.setFont (MediumNumbers); // postavljanje fonta lcd.printNumI (skor, 55, 8); // dobije rezultat lcd.printNumI (hiz, 63, 32); // get speed lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// postavljanje lokacija za neprijateljske oblike

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // ako je lokacija = 1 nacrtajte neprijatelja u obliku ove lokacije 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 () {// ako ne uspijemo, igra je gotova

while (1) {odgoda (100); // čekamo 1 milisekundu lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTAR, 8); // ispisuje igru preko lcd.print ("skorunuz =", 3, 30); // ispišite rezultat lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // dobije posljednji rezultat lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // postavljanje pozadinskog svjetla Output pinMode (xpin, INPUT); // postavljamo x pin kao ulazni lcd. InitLCD (); // iniciranje lcd ekrana lcd.setContrast (55); // postavljanje kontrasta (amound 0 do 127) Serial.begin (9600); // pokretanje serijske komunikacije}

void loop () {{100} {101}

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu… // postavljanje lokacije joysticka …

int durumx = analogRead (xpin); if (durumx <300 && pozisyon! = 1 && kontrola == true) {// if location! = 1, x state600 && pozisyon! = 6 && kontrol == true) {// if location! = 3, x state> 600 i kontrola je istinita pozisyon ++; // povećati lokaciju znači premjestiti oblik udesno kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // stanje pozicije… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // nacrtajmo naš brod 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) {// ako je neprijateljski oblik mrtav, provjerite jesu li mrtvi

dusmankonum1 = pozisyon; // nacrtati prvi neprijateljski oblik dusmankonum2 = random (0, 6); // negdje nacrtati drugi neprijateljski oblik dusmankonum3 = random (0, 6); dusmankonum4 = slučajno (0, 6); dusmankonum5 = slučajno (0, 6); dusmaninYdekonumu = 0; // dovesti neprijatelja s vrha dusmanoldu = false;} // neprijatelj je ponovo stvoren tako da nije mrtav

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // nacrtajte prvi neprijateljski oblik i prenesite ga odozgo prema dolje

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // nacrtajte drugi neprijateljski oblik i postavite ga odozgo prema dolje dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// ako naš oblik dodiruje neprijatelja sa oyunbitti (); // igra je gotova}

if (dusmaninYdekonumu> 42) {// ako naš oblik pobjegne od neprijatelja

dusmanoldu = istina; // ubiti neprijateljske oblike skor ++; // povećati jedan po jedan rezultat}

// skora gore hizi artiriyoruz // povećajte brzinu prema rezultatu

if (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; kašnjenje (5); }

}

Korak 4: KOD BITMAP

Nadalje, morate uključiti bitmap grafiku za oblike. To mora biti.c datoteka.

#include // uključi za funkciju progmem

const unsigned char arac PROGMEM = {// naša bitmapa oblika

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

const unsigned char dusmanAraci PROGMEM = {// bitmapa neprijateljskog broda

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

Korak 5: Hvala što ste pogledali

Značenje nekih reči:

Oyun => Igra

Arac => Oblik

Dusman => Neprijatelj

kontrol => kontrola

Konum, Yer => Lokacija

Oyun Bitti => Igra je gotova

Skor => Bodovi

Hiz => Brzina

Preporučuje se: