Cuprins:

Space Race Game Versiunea 2: 5 pași
Space Race Game Versiunea 2: 5 pași

Video: Space Race Game Versiunea 2: 5 pași

Video: Space Race Game Versiunea 2: 5 pași
Video: Obsidian Fury Death|Pacific Rim Uprising [Second Battle] [Fight Scene] 2024, Iulie
Anonim
Image
Image

Buna tuturor. Înainte de această versiune a jocului, am publicat prima versiune a jocului. Astăzi, ı vă va arăta versiunea 2 a jocului Space Race. Să vedem pașii …

Pasul 1: PĂRȚI

SCHEMĂ
SCHEMĂ

Iată o listă de părți pe care le-am folosit pentru a realiza acest proiect:

  • Arduino UNO
  • Modulul Joystick
  • Jumper Wires (de la bărbat la bărbat și de la bărbat la femeie)
  • Pană de pâine

Pasul 2: SCHEMA

VCC -> Arduino 5V

BL -> Pinul Arduino 3

GND -> Arduino GND

CLK (SCLK) -> pinul Arduino 8

DIN (MOSI) -> Arduino pin 9

DC -> Arduino pin 10

CE sau CS -> Pinul Arduino 12

RST (RESET) -> pinul Arduino 11

Pasul 3: COD

COD
COD

Codul are explicații despre funcțiile codului. O vei înțelege cu ușurință. Dacă aveți o problemă, mă puteți contacta.

#include

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

boolean kontrol = true;

boolean dusmanoldu = true;

extern uint8_t SmallFont ; // descrieți fonturile

extern uint8_t MediumNumbers ; extern uint8_t arac ; // descrie forma noastră extern uint8_t dusmanAraci ; // desribe inamic shape const int xpin = A0; // joystick x pin char pozi = 3; // descrie locația, forma noastră începe locația 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // descrie inamicul1 x locația int dusmankonum2; // descrie inamicul2 x locația int dusmankonum3; // descrie malamic3 x locație int dusmankonum4; // descrie inamicul4 x locația int dusmankonum5; // descrie inamicul5 x locație int dusmaninYdekonumu;

void oyunEkrani () {// setează ecranul jocului

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // desenăm dreptunghi lcd.setFont (SmallFont); // set font lcd.print ("skor", 57, 1); // print score lcd.print ("hiz", 60, 24); // viteza de imprimare lcd.setFont (MediumNumbers); // set font lcd.printNumI (skor, 55, 8); // get score lcd.printNumI (hiz, 63, 32); // get speed lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// setează locații pentru formele inamice

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 draw inamic model this location 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 () {// dacă eșuăm, jocul s-a terminat

while (1) {întârziere (100); // așteptați 1 milisecundă lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTRE, 8); // print game over lcd.print ("skorunuz =", 3, 30); // tipărește-ți scorul lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // obține ultimul scor lcd.update (); }}

configurare nulă () {

pinMode (BL, OUTPUT); // set back light Output pinMode (xpin, INPUT); // setați pinul x ca intrare lcd. InitLCD (); // inițializați ecranul lcd lset.setContrast (55); // set contrast (amound 0 to 127) Serial.begin (9600); // începe comunicația în serie}

bucla nulă () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu … // setați locația joyistick …

int durumx = analogRead (xpin); if (durumx <300 && poziție! = 1 && kontrol == true) {// if location! = 1, x state600 && position! = 6 && kontrol == true) {// if location! = 3, x state> 600 și controlul este adevărat pozi ++; // măriți locația înseamnă că mutați forma spre dreapta kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // poziția durumu … // poziția statului … if (poziția == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // draw our ship if (pozi == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} if (pozi == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();} if (pozi == 4) {lcd.drawBitmap (26, 41, arac, 7, 7); lcd.update ();} if (pozi == 5) {lcd.drawBitmap (34, 41, arac, 7, 7); lcd.update ();} if (poziție == 6) {lcd.drawBitmap (42, 41, arac, 7, 7); lcd.update ();}

if (dusmanoldu) {// dacă forma inamicului este moartă, verificați dacă sunt morți

dusmankonum1 = poziție; // desenează prima formă inamică dusmankonum2 = aleatoriu (0, 6); // desenează altă formă inamică undeva dusmankonum3 = aleatoriu (0, 6); dusmankonum4 = aleatoriu (0, 6); dusmankonum5 = aleatoriu (0, 6); dusmaninYdekonumu = 0; // aduce dușmanul de sus dusmanoldu = fals;} // inamicul este recreat astfel încât să nu fie morți

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // desenează prima formă a inamicului și obține-o de sus în jos

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // desenează a doua formă de inamic și obține-o de sus în jos dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == poziție) || (dusmankonum2 == poziție) || (dusmankonum3 == poziție) || (dusmankonum4 == poziție))) {// dacă forma noastră atinge forme inamice oyunbitti (); //jocul s-a terminat }

if (dusmaninYdekonumu> 42) {// dacă forma noastră scapă de dușmani

dusmanoldu = true; // ucide forme inamice skor ++; // măriți unul câte unul scorul}

// skora gore hizi artiriyoruz // mărește viteza în funcție de scor

if (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; întârziere (5); }

}

Pasul 4: COD BITMAP

Mai mult, trebuie să includeți grafica bitmap pentru forme. Trebuie să fie un fișier.c.

#include // include pentru funcția progmem

const unsigned char arac PROGMEM = {// forma noastră bitmap

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

const unsigned char dusmanAraci PROGMEM = {// bitmap navei inamice

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

Pasul 5: Vă mulțumim pentru vizualizare

Înțelesul unor cuvinte:

Oyun => Joc

Arac => Formă

Dusman => Enemy

kontrol => control

Konum, Yer => Locație

Oyun Bitti => Joc terminat

Skor => Scor

Hiz => Viteză

Recomandat: