Obsah:

Vesmírna závodná hra Verzia 2: 5 krokov
Vesmírna závodná hra Verzia 2: 5 krokov

Video: Vesmírna závodná hra Verzia 2: 5 krokov

Video: Vesmírna závodná hra Verzia 2: 5 krokov
Video: Kristína - Ta ne prod. Martin Kavulič (Oficiálny videoklip) 2024, November
Anonim
Image
Image

Ahojte, všetci. Pred touto verziou hry som vydal prvú verziu hry. Dnes vám ukážem hru Space Race Game 2. Pozrime sa na kroky …

Krok 1: ČASTI

SCHÉMA
SCHÉMA

Tu je zoznam dielov, ktoré som použil na výrobu tohto projektu:

  • Arduino UNO
  • Modul joysticku
  • Prepojovacie vodiče (muž - muž a muž - žena)
  • Breadboard

Krok 2: SCHÉMA

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

RST (RESET) -> Arduino pin 11

Krok 3: KÓD

KÓD
KÓD

Kód obsahuje vysvetlenia funkcií kódu. Ľahko to pochopíte. Ak máte problém, môžete ma kontaktovať.

#zahrnúť

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

boolean kontrol = true;

booleovský dusmanoldu = pravda;

extern uint8_t SmallFont ; // popíšte písma

extern uint8_t MediumNumbers ; extern uint8_t arac ; // opíš náš tvar extern uint8_t dusmanAraci ; // popísať tvar nepriateľa const int xpin = A0; // joystick x pin char pozisyon = 3; // popíšte polohu, naše miesto začiatku tvaru 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // popis nepriatela1 x poloha int dusmankonum2; // popis nepriatela2 x poloha int dusmankonum3; // popis nepriatela3 x poloha int dusmankonum4; // popis nepriatela4 x poloha int dusmankonum5; // popis nepriatela5 x poloha int dusmaninYdekonumu;

void oyunEkrani () {// nastavenie obrazovky hry

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // nakreslíme obdĺžnik lcd.setFont (SmallFont); // set font lcd.print ("skor", 57, 1); // tlač skóre lcd.print ("hiz", 60, 24); // rýchlosť tlače lcd.setFont (MediumNumbers); // set font lcd.printNumI (skor, 55, 8); // získať skóre lcd.printNumI (hiz, 63, 32); // získajte rýchlosť lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// nastavenie miest pre nepriateľské tvary

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 draw nepřátelský tvar toto miesto 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 () {// ak zlyháme, hra sa skončí

while (1) {delay (100); // počkajte 1 milisekundu lcd.clrScr (); lcd.setFont (SmallFont); lcd.print („OYUN BITTI“, CENTRUM, 8); // tlač hry cez lcd.print ("skorunuz =", 3, 30); // vytlačte svoje skóre lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // získanie posledného skóre lcd.update (); }}

neplatné nastavenie () {

pinMode (BL, VÝSTUP); // nastavenie podsvietenia Výstup pinMode (xpin, INPUT); // nastav x pin ako vstup lcd. InitLCD (); // inicializácia obrazovky LCD lcd.setContrast (55); // nastavenie kontrastu (približne 0 až 127) Serial.begin (9600); // spustenie sériovej komunikácie}

prázdna slučka () {

analogWrite (BL, 350); oyunEkrani ();

// joyistické durumu … // nastavenie umiestnenia joysticku …

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 a ovládanie je pravda pozisyon ++; // zväčšenie polohy, to znamená posunutie tvaru doprava kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu … // stav polohy … if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // nakreslite našu loď, ak (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) {// ak je tvar nepriatela mrtvy, skontroluj ci su mrtvy

dusmankonum1 = pozisyon; // nakreslite prvý tvar nepriateľa dusmankonum2 = náhodný (0, 6); // nakreslite niekde iný tvar nepriateľa dusmankonum3 = náhodný (0, 6); dusmankonum4 = náhodný (0, 6); dusmankonum5 = náhodný (0, 6); dusmaninYdekonumu = 0; // priveďte nepriateľa zhora dusmanoldu = false;} // nepriateľ sa obnoví, aby neboli mŕtvi

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // nakreslite prvý tvar nepriateľa a získajte ho zhora nadol

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // nakreslite druhý tvar nepriateľa a získajte ho zhora nadol dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// ak sa náš tvar dotýka nepriateľských tvarov oyunbitti (); //hra skončila }

if (dusmaninYdekonumu> 42) {// ak náš tvar unikne pred nepriateľmi

dusmanoldu = pravda; // zabíjanie nepriateľských tvarov skor ++; // zvyšujte skóre jeden po druhom}

// skora gore hizi artiriyoruz // zvýšenie rýchlosti podľa skóre

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

}

Krok 4: KÓD BITMAPY

Ďalej musíte pre tvary zahrnúť bitmapovú grafiku. Musí to byť súbor.c.

#include // include pre funkciu progmem

const unsigned char arac PROGMEM = {// naša bitmapa tvaru

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

const unsigned char dusmanAraci PROGMEM = {// bitmapa nepriateľskej lode

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

Krok 5: Ďakujeme za zobrazenie

Význam niektorých slov:

Oyun => Hra

Arac => Tvar

Dusman => Nepriateľ

kontroler => kontrola

Konum, Yer => Poloha

Oyun Bitti => Hra sa skončila

Skor => Skóre

Hiz => Rýchlosť

Odporúča: