Innholdsfortegnelse:

Space Race Game Versjon 2: 5 trinn
Space Race Game Versjon 2: 5 trinn

Video: Space Race Game Versjon 2: 5 trinn

Video: Space Race Game Versjon 2: 5 trinn
Video: TIC TAC TOE - Best Game Ever 2024, Juli
Anonim
Image
Image

Hei alle sammen. Før denne spillversjonen publiserte jeg den første versjonen av spillet. I dag vil jeg vise deg Space Race Game versjon 2. La oss se trinn …

Trinn 1: DELER

SCHEMA
SCHEMA

Her er en liste over deler jeg brukte til å lage dette prosjektet:

  • Arduino UNO
  • Joystick -modul
  • Jumper Wires (mann til mann og mann til kvinne)
  • Brødbrett

Trinn 2: SCHEMA

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

Trinn 3: KODE

KODE
KODE

Koden har forklaringer på kodefunksjoner. Du vil lett forstå det. Hvis du har et problem, kan du kontakte meg.

#inkludere

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

boolsk kontroll = true;

boolsk dusmanoldu = true;

ekstern uint8_t SmallFont ; // beskriv fonter

ekstern uint8_t MediumNumbers ; ekstern uint8_t arac ; // beskrive vår form eksternt uint8_t dusmanAraci ; // beskriv fiendens form const int xpin = A0; // joystick x pin char pozisyon = 3; // beskrive plasseringen, vår form startplassering 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // beskrive fiende1 x plassering int dusmankonum2; // beskrive fiende2 x plassering int dusmankonum3; // beskrive fiende3 x plassering int dusmankonum4; // beskrive fiende4 x plassering int dusmankonum5; // beskrive fiende5 x plassering int dusmaninYdekonumu;

void oyunEkrani () {// sett spillskjerm

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // vi tegner rektangel lcd.setFont (SmallFont); // sett skrift lcd.print ("skor", 57, 1); // print score lcd.print ("hiz", 60, 24); // utskriftshastighet lcd.setFont (MediumNumbers); // sett font lcd.printNumI (skor, 55, 8); // få score lcd.printNumI (hiz, 63, 32); // få hastighet lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// angi steder for fiendens former

hvis (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 tegne fienden form denne plasseringen 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 mislykkes, er spillet over

mens (1) {forsinkelse (100); // vent 1 milisekund lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // skriv ut spill over lcd.print ("skorunuz =", 3, 30); // Skriv ut poengsummen lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // få siste poengsum lcd.update (); }}

ugyldig oppsett () {

pinMode (BL, OUTPUT); // sett tilbake lys Output pinMode (xpin, INPUT); // angi x pin som inngang lcd. InitLCD (); // start lcd -skjermen lcd.setContrast (55); // sett kontrast (mengde 0 til 127) Serial.begin (9600); // start seriell kommunikasjon}

void loop () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu… // angi joyistick -plasseringen…

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 kontroll er sant pozisyon ++; // øke plasseringen det betyr flytte form til høyre kontroll = false; } annet hvis (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu … // posisjonstilstand … if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // tegne vårt skip 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 fiendens form er død, sjekk om de er døde

dusmankonum1 = pozisyon; // tegne første fiendeform dusmankonum2 = tilfeldig (0, 6); // tegne en annen fiendeform et sted dusmankonum3 = tilfeldig (0, 6); dusmankonum4 = tilfeldig (0, 6); dusmankonum5 = tilfeldig (0, 6); dusmaninYdekonumu = 0; // ta med fienden fra toppen dusmanoldu = false;} // fienden blir gjenskapt slik at de ikke er døde

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // tegne den første fiendens form og få den fra topp til bunn

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // tegne den andre fiendens form og få den fra topp til bunn dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; hvis (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// hvis vår form berører fiendtlige former oyunbitti (); //spillet er over }

if (dusmaninYdekonumu> 42) {// hvis vår form flykter fra fiender

dusmanoldu = true; // drep fiendeformer skor ++; // øke poengsummen en etter en}

// skora gore hizi artiriyoruz // øke hastigheten i henhold til poengsummen

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

}

Trinn 4: KODE BITMAP

Videre må du inkludere punktgrafikk for figurer. Det må være en.c -fil.

#include // include for progmem function

const usignert char arac PROGMEM = {// vårt form -bitmap

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

const unsigned char dusmanAraci PROGMEM = {// fiendens skip bitmap

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

Trinn 5: Takk for at du så på

Betydningen av noen ord:

Oyun => Spill

Arac => Form

Dusman => Fiende

kontroll => kontroll

Konum, Yer => Plassering

Oyun Bitti => Spill over

Skor => Poengsum

Hiz => Hastighet

Anbefalt: