Përmbajtje:

Hapësirë Garë Lojë Version 2: 5 Hapa
Hapësirë Garë Lojë Version 2: 5 Hapa

Video: Hapësirë Garë Lojë Version 2: 5 Hapa

Video: Hapësirë Garë Lojë Version 2: 5 Hapa
Video: E HAPA DYQANIN TEM NE QYTET | Trader Life Simulator 2 2024, Nëntor
Anonim
Image
Image

Pershendetje te gjithe. Para këtij versioni të lojës, ı publikoi versionin e parë të lojës. Sot, ı do t'ju tregojë versionin e 2. të Space Race Game Le të shikojmë hapat…

Hapi 1: PJES

SKEMA
SKEMA

Këtu është një listë e pjesëve që kam përdorur për të bërë këtë projekt:

  • Arduino UNO
  • Moduli i xhojstikut
  • Jumper Wires (mashkull për mashkull dhe mashkull për femër)
  • Breadboard

Hapi 2: SKEMA

VCC -> Arduino 5V

BL -> pin Arduino 3

GND -> Arduino GND

CLK (SCLK) -> Arduino pin 8

DIN (MOSI) -> Arduino pin 9

DC -> pin Arduino 10

CE ose CS -> Arduino pin 12

RST (RESET) -> Arduino pin 11

Hapi 3: KODI

KODI
KODI

Kodi ka shpjegime të funksioneve të kodit. Do ta kuptoni lehtësisht. Nëse keni ndonjë problem, mund të më kontaktoni.

#përfshi

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

boolean kontrol = e vërtetë;

boolean dusmanoldu = e vërtetë;

jashtme uint8_t SmallFont ; // përshkruani fontet

jashtme uint8_t Numrat e Mesëm ; jashtme uint8_t arac ; // përshkruani formën tonë të jashtme uint8_t dusmanAraci ; // përshkruaj formën e armikut const int xpin = A0; // joystick x pin char pozisyon = 3; // përshkruani vendndodhjen, vendi ynë i fillimit të formës 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // përshkruani armikun1 x vendndodhjen int dusmankonum2; // përshkruani armikun2 x vendndodhjen int dusmankonum3; // përshkruani armikun3 x vendndodhjen int dusmankonum4; // përshkruani armikun4 x vendndodhjen int dusmankonum5; // përshkruani armikun5 x vendndodhjen int dusmaninYdekonumu;

void oyunEkrani () {// vendos ekranin e lojës

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // vizatojmë drejtkëndësh lcd.setFont (SmallFont); // vendos fontin lcd.print ("skor", 57, 1); // rezultati i printimit lcd.print ("hiz", 60, 24); // shpejtësia e printimit lcd.setFont (Numrat e mesëm); // vendos fontin lcd.printNumI (skor, 55, 8); // merrni rezultatin lcd.printNumI (hiz, 63, 32); // merrni shpejtësinë lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// vendosni vende për format e armikut

nëse (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // nëse vendndodhja = 1 vizatoni armikun në këtë vend nëse (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 () {// nëse dështojmë, loja mbaron

ndërsa (1) {vonesë (100); // prisni 1 milisekonda lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // shtyp lojën mbi lcd.print ("skorunuz =", 3, 30); // printoni rezultatin tuaj lcd.setFont (Numrat e Mesëm); lcd.printNumI (skor, 60, 25); // merrni rezultatin e fundit lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // ndez dritën e daljes PinMode (xpin, INPUT); // vendos x pin si hyrje lcd. InitLCD (); // filtroni ekranin LCD lcd.setContrast (55); // vendos kontrast (nga 0 në 127) Serial.fillo (9600); // fillo komunikimin serik}

lak void () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu… // caktoni vendndodhjen e joyistick…

int durumx = analogRead (xpin); nëse (durumx <300 && pozisyon! = 1 && kontrol == vërtetë) {// nëse vendndodhja! = 1, x gjendja 600 && pozisyon! = 6 && kontrol == vërtetë) {// nëse vendndodhja! = 3, x gjendje> 600 dhe kontrolli është pozisyon i vërtetë ++; // rrisni vendndodhjen do të thotë të lëvizni formën në të djathtë kontrol = false; } tjetër if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // gjendja e pozicionit… nëse (pozisyon == 1) {// nëse vendndodhja = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // vizatoni anijen tonë nëse (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 ();} nëse (pozisyon == 6) {lcd.drawBitmap (42, 41, arac, 7, 7); lcd.update ();}

nëse (dusmanoldu) {// nëse forma e armikut është e vdekur, kontrolloni nëse janë të vdekur

dusmankonum1 = pozisyon; // vizatoni formën e parë të armikut dusmankonum2 = e rastësishme (0, 6); // vizatoni një formë tjetër të armikut diku dusmankonum3 = e rastësishme (0, 6); dusmankonum4 = rastësor (0, 6); dusmankonum5 = rastësor (0, 6); dusmaninYdekonumu = 0; // sillni armikun nga maja dusmanoldu = false;} // armiku rikrijohet kështu që ata nuk janë të vdekur

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // vizatoni formën e parë të armikut dhe merrni atë nga lart poshtë

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // vizatoni formën e dytë të armikut dhe merrni atë nga lart poshtë dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; nëse (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozitë) || (dusmankonum2 == pozitë) || (dusmankonum3 == pozitë) || (dusmankonum4 == pozitë))) {// nëse forma jonë prek format e armikut oyunbitti (); //Loja mbaroi }

nëse (dusmaninYdekonumu> 42) {// nëse forma jonë ikën nga armiqtë

dusmanoldu = e vërtetë; // vrasin format e armikut skor ++; // rrisni rezultatin një nga një}

// skora gore hizi artiriyoruz // rrit shpejtësinë sipas rezultatit

nëse (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; vonesa (5); }

}

Hapi 4: KODI BITMAP

Për më tepër, duhet të përfshini grafikë bitmap për format. Duhet të jetë një skedar.c.

#include // include për funksionin progmem

const unsigned char arac PROGMEM = {// bitmap -i i formës sonë

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

const unsigned char dusmanAraci PROGMEM = {// bitmap anije armike

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

Hapi 5: Faleminderit për shikimin

Kuptimi i disa fjalëve:

Oyun => Lojë

Arac => Forma

Dusman => Armiku

kontrol => kontroll

Konum, Yer => Vendndodhja

Oyun Bitti => Loja ka mbaruar

Skor => Rezultati

Hiz => Shpejtësia

Recommended: