Sadržaj:

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

Video: Svemirska utrka Igra Verzija 2: 5 koraka

Video: Svemirska utrka Igra Verzija 2: 5 koraka
Video: Брак по завещанию - 2. Возвращение Сандры. Весь сезон. Феникс Кино. Мелодрама 2024, Srpanj
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

Preporučeni: