Obsah:

Vesmírná závodní hra Verze 2: 5 kroků
Vesmírná závodní hra Verze 2: 5 kroků

Video: Vesmírná závodní hra Verze 2: 5 kroků

Video: Vesmírná závodní hra Verze 2: 5 kroků
Video: Top 10 nejnebezpečnějších tobogánů na světě! 2021 2024, Červenec
Anonim
Image
Image

Čau všichni. Před touto verzí hry jsem vydal první verzi hry. Dnes vám ukážu Space Race Game verze 2. Podívejme se na kroky…

Krok 1: DÍLY

SCHÉMA
SCHÉMA

Zde je seznam dílů, které jsem použil k vytvoření tohoto projektu:

  • Arduino UNO
  • Modul joysticku
  • Propojovací dráty (muž k muži a muž k ženě)
  • Prkénko

Krok 2: SCHÉMA

VCC -> Arduino 5V

BL -> Pin Arduino 3

GND -> Arduino GND

CLK (SCLK) -> Arduino pin 8

DIN (MOSI) -> Arduino pin 9

DC -> Arduino pin 10

CE nebo CS -> Arduino pin 12

RST (RESET) -> Arduino pin 11

Krok 3: KÓD

KÓD
KÓD

Kód obsahuje vysvětlení funkcí kódu. Snadno to pochopíte. Pokud máte problém, můžete mě kontaktovat.

#zahrnout

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

boolean kontrol = true;

boolean dusmanoldu = pravda;

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

extern uint8_t MediumNumbers ; extern uint8_t arac ; // popiš náš tvar extern uint8_t dusmanAraci ; // popsat tvar nepřítele const int xpin = A0; // joystick x pin char pozisyon = 3; // popište umístění, naše počáteční umístění tvaru 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // popiš nepřátelský1 x umístění int dusmankonum2; // popište nepřátelské2 x umístění int dusmankonum3; // popište nepřátelské3 x umístění int dusmankonum4; // popište nepřátelské4 x umístění int dusmankonum5; // popište nepřítele5 x umístění int dusmaninYdekonumu;

void oyunEkrani () {// nastavení obrazovky hry

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // nakreslíme obdélník lcd.setFont (SmallFont); // set font lcd.print ("skor", 57, 1); // tisk skóre lcd.print ("hiz", 60, 24); // rychlost tisku lcd.setFont (MediumNumbers); // sada písem lcd.printNumI (skor, 55, 8); // získejte skóre lcd.printNumI (hiz, 63, 32); // získejte rychlost lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// nastavení umístění nepřátelských tvarů

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 draw nepřátelský tvar toto umístění 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 () {// pokud selžeme, hra končí

while (1) {delay (100); // počkejte 1 milisekundu lcd.clrScr (); lcd.setFont (SmallFont); lcd.print („OYUN BITTI“, CENTRUM, 8); // tisk hry přes lcd.print ("skorunuz =", 3, 30); // vytiskněte své skóre lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // získání posledního skóre lcd.update (); }}

neplatné nastavení () {

pinMode (BL, VÝSTUP); // nastavení podsvícení Výstup pinMode (xpin, INPUT); // nastavit x pin jako vstup lcd. InitLCD (); // inicializace obrazovky LCD lcd.setContrast (55); // nastavení kontrastu (kolem 0 až 127) Serial.begin (9600); // zahájení sériové komunikace}

prázdná smyčka () {

analogWrite (BL, 350); oyunEkrani ();

// joyistické durumu … // nastavení umístění 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ádání je pravda pozisyon ++; // zvětšení umístění to znamená přesunout tvar doprava kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu … // stav pozice … if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // nakreslete naši loď if (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) {// pokud je tvar nepřítele mrtvý, zkontrolujte, zda je mrtvý

dusmankonum1 = pozisyon; // nakreslení prvního tvaru nepřítele dusmankonum2 = random (0, 6); // nakreslení někam jiného tvaru nepřítele dusmankonum3 = random (0, 6); dusmankonum4 = náhodný (0, 6); dusmankonum5 = náhodný (0, 6); dusmaninYdekonumu = 0; // přivést nepřítele shora dusmanoldu = false;} // nepřítel se znovu vytvoří, aby nebyli mrtví

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // nakreslete první tvar nepřítele a získejte jej shora dolů

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // nakreslete druhý tvar nepřítele a získejte jej odshora dolů dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// pokud se náš tvar dotýká nepřátelských tvarů oyunbitti (); //hra skončila }

if (dusmaninYdekonumu> 42) {// pokud náš tvar unikne před nepřáteli

dusmanoldu = pravda; // zabíjení nepřátelských tvarů skor ++; // zvyšujte skóre jeden po druhém}

// skora gore hizi artiriyoruz // zvyšte rychlost podle skóre

if (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; zpoždění (5); }

}

Krok 4: KÓD BITMAPY

Kromě toho musíte pro tvary zahrnout bitmapovou grafiku. Musí to být soubor.c.

#include // include pro funkci progmem

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

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

const unsigned char dusmanAraci PROGMEM = {// bitmapa nepřátelské lodi

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

Krok 5: Děkujeme za zobrazení

Význam některých slov:

Oyun => Hra

Arac => Tvar

Dusman => Nepřítel

kontrol => kontrola

Konum, Yer => Poloha

Oyun Bitti => Konec hry

Skor => Skóre

Hiz => Rychlost

Doporučuje: