Sisällysluettelo:

Avaruuskilpailupelin versio 2: 5 vaihetta
Avaruuskilpailupelin versio 2: 5 vaihetta

Video: Avaruuskilpailupelin versio 2: 5 vaihetta

Video: Avaruuskilpailupelin versio 2: 5 vaihetta
Video: Videoblogin suoratoisto keskiviikkoiltana eri aiheista! Kasvamme yhdessä YouTube 2: ssa #SanTenChan 2024, Heinäkuu
Anonim
Image
Image

Hei kaikki. Ennen tätä peliversiota julkaisin pelin ensimmäisen version. Tänään näytän sinulle Space Race Game -version 2. Katsotaanpa vaiheita…

Vaihe 1: OSAT

SCHEMA
SCHEMA

Tässä on luettelo osista, joita käytin tämän projektin tekemiseen:

  • Arduino UNO
  • Joystick -moduuli
  • Hyppyjohdot (uros -uros ja uros -naaras)
  • Leipälauta

Vaihe 2: SCHEMA

VCC -> Arduino 5V

BL -> Arduino -nasta 3

GND -> Arduino GND

CLK (SCLK) -> Arduino -nasta 8

DIN (MOSI) -> Arduino -nasta 9

DC -> Arduino -nasta 10

CE tai CS -> Arduino -nasta 12

RST (NOLLAUS) -> Arduino -nasta 11

Vaihe 3: KOODI

KOODI
KOODI

Koodissa on selitykset kooditoiminnoista. Ymmärrät sen helposti. Jos sinulla on ongelma, voit ottaa minuun yhteyttä.

#sisältää

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

boolean kontrol = tosi;

boolean dusmanoldu = totta;

extern uint8_t SmallFont ; // kuvaile fontteja

extern uint8_t MediumNumbers ; extern uint8_t arac ; // kuvaile muotoamme extern uint8_t dusmanAraci ; // kuvata vihollisen muoto const int xpin = A0; // ohjaussauva x nasta char pozisyon = 3; // kuvaile sijaintia, muodon aloituspaikkaa 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // kuvaile vihollinen1 x sijainti int dusmankonum2; // kuvaile vihollista2 x sijainti int dusmankonum3; // kuvaile vihollista3 x sijainti int dusmankonum4; // kuvata vihollinen4 x sijainti int dusmankonum5; // kuvaile vihollista5 x sijainti int dusmaninYdekonumu;

void oyunEkrani () {// aseta pelinäyttö

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // piirrämme suorakulmion lcd.setFont (SmallFont); // aseta fontti lcd.print ("skor", 57, 1); // tulostuspisteet lcd.print ("hiz", 60, 24); // tulostusnopeus lcd.setFont (MediumNumbers); // aseta fontti lcd.printNumI (skor, 55, 8); // hanki pisteet lcd.printNumI (hiz, 63, 32); // hanki nopeus lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// aseta vihollisen muotojen paikat

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // jos sijainti = 1 piirtää vihollisen tämän paikan, jos (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 () {// jos epäonnistumme, peli päättyy

while (1) {viive (100); // odota 1 milisekunti lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // tulosta peli lcd.printin kautta ("skorunuz =", 3, 30); // tulosta pisteet lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // saat viimeisen pistemäärän lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // taustavalo Lähtö pinMode (xpin, INPUT); // aseta x -nasta tuloksi lcd. InitLCD (); // käynnistää lcd -näytön lcd.setContrast (55); // aseta kontrasti (0–127) Serial.begin (9600); // aloita sarjayhteys}

void loop () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu… // aseta joyistick -sijainti…

int durumx = analoginenLue (xpin); if (durumx <300 && pozisyon! = 1 && kontrol == true) {// jos sijainti! = 1, x tila600 && pozisyon! = 6 && kontrol == true) {// jos sijainti! = 3, x tila> 600 ja ohjaus on totta pozisyon ++; // lisätä sijaintia se tarkoittaa siirtää muotoa oikealle kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // sijainnin tila… if (pozisyon == 1) {// jos sijainti = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // piirrä aluksemme, jos (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();}} jos (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) {// jos vihollisen muoto on kuollut, tarkista, ovatko ne kuolleet

dusmankonum1 = pozisyon; // piirtää ensimmäisen vihollisen muoto dusmankonum2 = satunnainen (0, 6); // piirtää toinen vihollisen muoto jonnekin dusmankonum3 = satunnainen (0, 6); dusmankonum4 = satunnainen (0, 6); dusmankonum5 = satunnainen (0, 6); dusmaninYdekonumu = 0; // tuo vihollinen ylhäältä dusmanoldu = false;} // vihollinen luodaan uudelleen, jotta he eivät ole kuolleita

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // piirtää ensimmäinen vihollisen muoto ja saada se ylhäältä alas

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // piirtää toinen vihollisen muoto ja saada se ylhäältä alas dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// jos muoto koskettaa vihollisen muotoja oyunbitti ((); //Peli on loppunut }

if (dusmaninYdekonumu> 42) {// jos muodollamme paeta vihollisia

dusmanoldu = totta; // tappaa vihollisen muodot skor ++; // lisää pisteitä yksi kerrallaan}

// skora gore hizi artiriyoruz // lisää nopeutta pisteiden mukaan

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

}

Vaihe 4: KOODA BITMAP

Lisäksi sinun on sisällytettävä bittikarttakuvat muodoille, ja sen on oltava.c -tiedosto.

#include // include ohjelmointitoiminnolle

const unsigned char arac PROGMEM = {// muoto bittikartta

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

const unsigned char dusmanAraci PROGMEM = {// vihollisen aluksen bittikartta

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

Vaihe 5: Kiitos katselusta

Joidenkin sanojen merkitys:

Oyun => Peli

Arac => Muoto

Dusman => Vihollinen

kontrol => ohjaus

Konum, Yer => Sijainti

Oyun Bitti => Game Over

Skor => Pisteet

Hiz => Nopeus

Suositeltava: