Sisukord:

Kosmosevõistlusmängu versioon 2: 5 sammu
Kosmosevõistlusmängu versioon 2: 5 sammu

Video: Kosmosevõistlusmängu versioon 2: 5 sammu

Video: Kosmosevõistlusmängu versioon 2: 5 sammu
Video: New Lesbian Movies and TV Shows November 2023 2024, November
Anonim
Image
Image

Hei kõik. Enne selle mängu versiooni avaldasin mängu esimese versiooni. Täna näitan teile Space Race Game versiooni 2. Vaatame samme …

1. samm: OSAD

Skeem
Skeem

Siin on nimekiri osadest, mida ma selle projekti tegemisel kasutasin:

  • Arduino UNO
  • Joystick moodul
  • Jumper juhtmed (meestele ja isastele naistele)
  • Leivalaud

2. samm: Skeem

VCC -> Arduino 5V

BL -> Arduino tihvt 3

GND -> Arduino GND

CLK (SCLK) -> Arduino tihvt 8

DIN (MOSI) -> Arduino tihvt 9

DC -> Arduino tihvt 10

CE või CS -> Arduino tihvt 12

RST (RESET) -> Arduino pin 11

3. samm: KOODI

KOOD
KOOD

Koodil on koodifunktsioonide selgitused. Saate sellest hõlpsalt aru. Kui teil on probleeme, võite minuga ühendust võtta.

#kaasake

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

boolean kontrol = tõene;

boolean dusmanoldu = tõene;

extern uint8_t SmallFont ; // kirjeldada fonte

extern uint8_t Keskmised numbrid ; väline uint8_t arac ; // kirjelda meie kuju extern uint8_t dusmanAraci ; // desribe vaenlase kuju const int xpin = A0; // juhtkang x tihvt char pozisyon = 3; // kirjeldada asukohta, meie kuju alguskoht 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // vaenlase kirjeldamine1 x asukoht int dusmankonum2; // vaenlase kirjeldamine2 x asukoht int dusmankonum3; // vaenlase kirjeldamine3 x asukoht int dusmankonum4; // vaenlase kirjeldamine4 x asukoht int dusmankonum5; // kirjeldage vaenlast5 x asukoht int dusmaninYdekonumu;

void oyunEkrani () {// määrake mänguekraan

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // joonistame ristküliku lcd.setFont (SmallFont); // määrake font lcd.print ("skor", 57, 1); // print skoor lcd.print ("hiz", 60, 24); // printimiskiirus lcd.setFont (MediumNumbers); // määrake font lcd.printNumI (skor, 55, 8); // saada skoor lcd.printNumI (hiz, 63, 32); // hangi kiirus lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// määrake vaenlase kuju asukohad

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // kui asukoht = 1 joonistab vaenlase selle asukoha, kui (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 () {// kui ebaõnnestume, on mäng läbi

samas (1) {viivitus (100); // oota 1 millisekund lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // prindi mäng üle lcd.print ("skorunuz =", 3, 30); // prindi oma skoor lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // saada viimane skoor lcd.update (); }}

tühine seadistus () {

pinMode (BL, VÄLJUND); // tagantvalgustus Väljund pinMode (xpin, INPUT); // määrake x pin sisendiks lcd. InitLCD (); // initsialiseeri LCD -ekraan lcd.setContrast (55); // määrake kontrastsus (palju 0 kuni 127) Serial.begin (9600); // seeriaühenduse alustamine}

void loop () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu … // määrake joyisticki asukoht …

int durumx = analogRead (xpin); if (durumx <300 && pozisyon! = 1 && kontrol == true) {// kui asukoht! = 1, x olek600 && pozisyon! = 6 && kontrol == tõene) {// kui asukoht! = 3, x olek> 600 ja juhtimine on tõsi pozisyon ++; // asukoha suurendamine tähendab kuju teisaldamist paremale kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // positsiooni olek… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // joonistage meie laev, kui (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();}} kui (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) {// kui vaenlase kuju on surnud, kontrollige, kas nad on surnud

dusmankonum1 = pozisyon; // esimese vaenlase kuju joonistamine dusmankonum2 = juhuslik (0, 6); // teise vaenlase kuju joonistamine kuskile dusmankonum3 = juhuslik (0, 6); dusmankonum4 = juhuslik (0, 6); dusmankonum5 = juhuslik (0, 6); dusmaninYdekonumu = 0; // tuua vaenlane ülevalt dusmanoldu = false;} // vaenlane luuakse uuesti, et nad poleks surnud

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // joonista esimene vaenlase kuju ja saada see ülevalt alla

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // joonista teine vaenlase kuju ja saada see ülalt alla dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// kui meie kuju puudutab vaenlase kuju oyunbitti (); //mäng on läbi }

if (dusmaninYdekonumu> 42) {// kui meie kuju pääseb vaenlaste eest

dusmanoldu = tõsi; // tappa vaenlase kujundeid skor ++; // suurendage skoori ükshaaval}

// skora gore hizi artiriyoruz // suurendage kiirust vastavalt skoorile

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

}

4. samm: KOODI BITMAP

Lisaks peate vormide jaoks lisama bitikaardi graafika. See peab olema.c -fail.

#include // include programmi funktsiooni jaoks

const unsigned char arac PROGMEM = {// meie kuju bitikaart

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

const unsigned char dusmanAraci PROGMEM = {// vaenlase laeva bitikaart

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

Samm: täname vaatamise eest

Mõne sõna tähendus:

Oyun => Mäng

Arac => kuju

Dusman => Vaenlane

kontroll => kontroll

Konum, Yer => Asukoht

Oyun Bitti => Mäng läbi

Skor => Skoor

Hiz => kiirus

Soovitan: