Svemirska utrka Igra Verzija 2: 5 koraka
Svemirska utrka Igra Verzija 2: 5 koraka
Anonim
Image
Image

Pozdrav 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
  • Modul joystick
  • Kratkospojne žice (muški na muški i muški na ženski)
  • Oglasna ploča

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

KODIRATI
KODIRATI

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

#uključi

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

boolean kontrol = true;

boolean dusmanoldu = istina;

extern uint8_t SmallFont ; // opišite fontove

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

void oyunEkrani () {// postavite zaslon 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); // postavi font lcd.printNumI (skor, 55, 8); // dobiti 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); // čekati 1 milisekundu lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTAR, 8); // ispis igre preko lcd.print ("skorunuz =", 3, 30); // ispišite rezultat lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // dobiti posljednji rezultat lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // namještanje stražnjeg svjetla Output pinMode (xpin, INPUT); // postavite x pin kao ulazni lcd. InitLCD (); // iniciranje lcd zaslona 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 mjesta 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 položaja … 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 oblik neprijatelja dusmankonum2 = random (0, 6); // nacrtati drugi oblik neprijatelja negdje dusmankonum3 = random (0, 6); dusmankonum4 = slučajni (0, 6); dusmankonum5 = slučajni (0, 6); dusmaninYdekonumu = 0; // dovesti neprijatelja s vrha dusmanoldu = false;} // neprijatelj je ponovno stvoren tako da nije mrtav

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

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // nacrtati drugi neprijateljski oblik i dobiti 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 neprijateljske oblike 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ćati brzinu prema bodu

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 = {// bitmapa našeg 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 riječi:

Oyun => Igra

Arac => Oblik

Dusman => Neprijatelj

kontrol => kontrola

Konum, Yer => Lokacija

Oyun Bitti => Igra je gotova

Skor => Bodovi

Hiz => Brzina