Indholdsfortegnelse:

Space Race Game Version 2: 5 trin
Space Race Game Version 2: 5 trin

Video: Space Race Game Version 2: 5 trin

Video: Space Race Game Version 2: 5 trin
Video: Space Race - Unboxing 2024, November
Anonim
Image
Image

Hey alle sammen. Før denne spilversion udgav jeg den første version af spillet. I dag viser jeg dig Space Race Game version 2. Lad os se trin …

Trin 1: DELE

SKEMA
SKEMA

Her er en liste over dele, jeg brugte til at lave dette projekt:

  • Arduino UNO
  • Joystick -modul
  • Jumper Wires (mand til mand og mand til kvinde)
  • Brødbræt

Trin 2: SKEMA

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

RST (RESET) -> Arduino pin 11

Trin 3: KODE

KODE
KODE

Koden har forklaringer på kodefunktioner. Du vil let forstå det. Hvis du har et problem, kan du kontakte mig.

#omfatte

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

boolsk kontrol = sand;

boolsk dusmanoldu = sandt;

ekstern uint8_t SmallFont ; // beskriv skrifttyperne

ekstern uint8_t MediumNumbers ; ekstern uint8_t arac ; // beskrive vores form ekstern uint8_t dusmanAraci ; // beskriv fjendens form const int xpin = A0; // joystick x pin char pozisyon = 3; // beskriv placeringen, vores form start placering 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // beskrive fjende1 x placering int dusmankonum2; // beskrive fjende2 x placering int dusmankonum3; // beskrive fjende3 x placering int dusmankonum4; // beskrive fjende4 x placering int dusmankonum5; // beskrive fjende5 x placering int dusmaninYdekonumu;

void oyunEkrani () {// sæt spilskærm

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // vi tegner rektangel lcd.setFont (SmallFont); // sæt skrifttype lcd.print ("skor", 57, 1); // print score lcd.print ("hiz", 60, 24); // udskrivningshastighed lcd.setFont (MediumNumbers); // sæt skrifttype lcd.printNumI (skor, 55, 8); // få score lcd.printNumI (hiz, 63, 32); // få hastighed lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// angive placeringer for fjendtlige former

hvis (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // hvis location = 1 tegner fjenden form denne placering hvis (yer == 2) {lcd.drawBitmap (10, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 3) {lcd.drawBitmap (18, asama, dusmanAraci, 7, 7); lcd.update (); } hvis (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 () {// hvis vi fejler, er spillet slut

mens (1) {forsinkelse (100); // vent 1 milisekund lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // udskriv spil over lcd.print ("skorunuz =", 3, 30); // udskriv din score lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // få sidste score lcd.update (); }}

ugyldig opsætning () {

pinMode (BL, OUTPUT); // sæt lys tilbage Output pinMode (xpin, INPUT); // sæt x pin som input lcd. InitLCD (); // start lcd -skærmen lcd.setContrast (55); // indstil kontrast (mellem 0 og 127) Serial.begin (9600); // start seriel kommunikation}

void loop () {

analogWrite (BL, 350); oyunEkrani ();

// joyistisk durumu … // indstil joyistick -placeringen …

int durumx = analogRead (xpin); if (durumx <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 6 && kontrol == true) {// if location! = 3, x state> 600 og kontrol er sand pozisyon ++; // øge placeringen, det betyder flytte form til højre kontrol = false; } ellers hvis (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu … // position state … if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // tegne vores skib, hvis (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 ();}

hvis (dusmanoldu) {// hvis fjendens form er død, skal du kontrollere, om de er døde

dusmankonum1 = pozisyon; // tegne første fjendens form dusmankonum2 = tilfældig (0, 6); // tegne en anden fjendtlig form et sted dusmankonum3 = tilfældig (0, 6); dusmankonum4 = tilfældig (0, 6); dusmankonum5 = tilfældig (0, 6); dusmaninYdekonumu = 0; // bringe fjende fra toppen dusmanoldu = false;} // fjenden genskabes, så de ikke er døde

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // tegn den første fjendtlige form og få den fra top til bund

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // tegne anden fjendens form og få den fra top til bund dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; hvis (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// hvis vores form rører fjendtlige former oyunbitti (); // spillet er slut}

hvis (dusmaninYdekonumu> 42) {// hvis vores form flygter fra fjender

dusmanoldu = sandt; // dræb fjendens former skor ++; // øg scoren en efter en}

// skora gore hizi artiriyoruz // øg hastigheden i henhold til score

hvis (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; forsinkelse (5); }

}

Trin 4: KODE BITMAP

Desuden skal du inkludere bitmapgrafik for figurer. Det skal være en.c -fil.

#include // include for progmem function

const usigneret char arac PROGMEM = {// vores form bitmap

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

const unsigned char dusmanAraci PROGMEM = {// fjendens skib bitmap

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

Trin 5: Tak fordi du kiggede

Betydning af nogle ord:

Oyun => Spil

Arac => Form

Dusman => Fjende

kontrol => kontrol

Konum, Yer => Placering

Oyun Bitti => Game Over

Skor => Score

Hiz => Hastighed

Anbefalede: