Sisällysluettelo:

Arduino Space Race -pelin versio _1: 5 vaihetta
Arduino Space Race -pelin versio _1: 5 vaihetta

Video: Arduino Space Race -pelin versio _1: 5 vaihetta

Video: Arduino Space Race -pelin versio _1: 5 vaihetta
Video: Could this tiny tube of metal fix our broken suspension? - Edd China's Workshop Diaries 28 2024, Heinäkuu
Anonim
Image
Image

Hei ystävät. Tänään ı am ganna näyttää sinulle, kuinka voit tehdä Space Race Game LCD5110 -näytöllä ja joysticilla. Katsotaanpa vaiheita…

Vaihe 1: TARPEET

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, din, dc, rst, ce)

int BL = 3;

extern uint8_t SmallFont ; // kuvaile fontteja extern uint8_t MediumNumbers ; extern uint8_t arac ; // kuvaile muotoamme extern uint8_t dusman_araci ; // kuvata vihollisen muoto const int xpin = A0; // ohjaussauva x nasta char pozisyon = 2; // kuvaile sijainti, muodollamme aloituspaikka 2 boolean kontrol = true; boolean dusmanOldu = totta; int skor = 0; int hiz = 0; int dusmanKonumu1; // kuvaile vihollinen1 x sijainti int dusmanKonumu2; // kuvaile vihollista2 x sijainti int dusmaninYdeKonumu; // kuvaile vihollisia y sijaintia

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

jos (yer == 1) {// jos sijainti = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // piirtää vihollisen muoto} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } jos (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}

void oyunBitti () {// jos epäonnistumme, peli päättyy

while (1) {viive (100); // odota 1 milisekunti lcd.clrScr (); // tyhjennä näyttö lcd.setFont (SmallFont); // aseta fontti lcd.print ("GAME OVER", CENTER, 20); // tulosta lcd.update (); // päivitä näyttö}}

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

void loop () {

analogWrite (BL, 200);

// aseta pelinäyttö lcd.drawRect (0, 0, 47, 47); // piirrämme suorakulmion lcd.setFont (SmallFont); // aseta fontti lcd.print ("skor", 53, 0); // printf score lcd.setFont (MediumNumbers); // aseta fontti lcd.printNumI (skor, 59, 7); // hanki pisteet lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // tulostusnopeus lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // hanki nopeus lcd.update (); //päivittää

// aseta joyistickin sijainti int x = analogRead (xpin); if (x <300 && pozisyon! = 1 && kontrol == true) {// jos sijainti! = 1, x state600 && pozisyon! = 3 && 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 (x> 300 && x <600) {kontrol = true; } Sarja.println (x); // x -tilan oppimiseen // aseta muodon sijainti lcd.clrScr (); // tyhjennä näyttö, jos (pozisyon == 1) {// jos sijainti = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // piirrä aluksemme, jos (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}

jos (pozisyon == 3) {

lcd.drawBitmap (34, 37, arac, 12, 8);}

if (dusmanOldu) {// jos vihollisen muoto on kuollut, tarkista, ovatko he kuolleet

dusmanKonumu1 = pozisyon; // piirtää ensimmäisen vihollisen muoto dusmanKonumu2 = satunnainen (0, 4); // piirrä toinen vihollisen muoto jonnekin dusmaninYdeKonumu = 0; // tuoda vihollinen ylhäältä dusmanOldu = false;} // vihollinen luodaan uudelleen, jotta he eivät ole kuolleita dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // piirtää ensimmäinen vihollisen muoto ja saada se ylhäältä alas dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // piirtää toisen vihollisen muoto ja saada se ylhäältä alas, jos (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon)))) {// jos muoto koskettaa vihollisen muotoja oyunBitti ();} // peli on ohi, jos (dusmaninYdeKonumu> 40) {// jos muodomme pakenee vihollisilta dusmanOldu = true; // tappaa vihollisen muodot skor ++;} // lisää pisteitä yksi kerrallaan // lisää nopeutta pisteiden mukaan, jos (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; viive (40); }}

Vaihe 4: KOODA BITMAP

Lisäksi sinun on sisällytettävä bittikarttakuvat muodoille. Sen on oltava.c -tiedosto ja sama nimi koodinimellä, ja sen on oltava samassa tiedostossa.

// ------------------------------------------------ ------------------------------ // LCD Assistantin luoma tiedosto // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // include ohjelmointitoimintoa varten

const unsigned char arac PROGMEM = {// muoto bittikartta

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

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

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

Vaihe 5: KIITOS KATSOESTA

KIITOS KATSOISTA
KIITOS KATSOISTA

Ennen kuin aloitin projektien jakamisen, olen koodannut turkkilaisilla sanoilla, joten en voinut saada kaikkia sanoja englanniksi.

Oyun = Peli

Arac = muoto

Dusman = Vihollinen

kontrol = ohjaus

Konum, Yer = Sijainti

Oyun Bitti = Game Over

Skor = Pisteet

Hiz = nopeus

Suositeltava: