Kosmosa sacensību spēles versija 2: 5 soļi
Kosmosa sacensību spēles versija 2: 5 soļi
Anonim
Image
Image

Sveiki visiem. Pirms šīs spēles versijas es publicēju spēles pirmo versiju. Šodien es jums parādīšu Space Race Game 2. versiju. Apskatīsim soļus…

1. darbība: DAĻAS

SHĒMA
SHĒMA

Šeit ir to daļu saraksts, kuras es izmantoju, lai izveidotu šo projektu:

  • Arduino UNO
  • Kursorsviras modulis
  • Jumper vadi (no vīrieša uz vīrieti un no vīrieša uz sievieti)
  • Maizes dēlis

2. solis: SHĒMA

VCC -> Arduino 5V

BL -> Arduino tapa 3

GND -> Arduino GND

CLK (SCLK) -> Arduino tapa 8

DIN (MOSI) -> Arduino tapa 9

DC -> Arduino tapa 10

CE vai CS -> Arduino tapa 12

RST (RESET) -> Arduino tapa 11

3. darbība: KODĒT

KODS
KODS

Kodā ir koda funkciju skaidrojumi. Jūs to viegli sapratīsit. Ja jums ir problēma, varat sazināties ar mani.

#iekļaut

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

Būla kontrol = taisnība;

Būla dusmanoldu = taisnība;

extern uint8_t SmallFont ; // aprakstiet fontus

extern uint8_t MediumNumbers ; extern uint8_t arac ; // aprakstiet mūsu formu extern uint8_t dusmanAraci ; // aprakstīt ienaidnieka formu const int xpin = A0; // kursorsviru x pin char pozisyon = 3; // aprakstīt atrašanās vietu, mūsu formas sākuma vietu 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // aprakstīt ienaidnieku1 x atrašanās vieta int dusmankonum2; // aprakstīt ienaidnieku2 x atrašanās vieta int dusmankonum3; // aprakstīt ienaidnieku3 x atrašanās vieta int dusmankonum4; // aprakstīt ienaidnieku4 x atrašanās vieta int dusmankonum5; // aprakstīt ienaidnieku5 x atrašanās vieta int dusmaninYdekonumu;

void oyunEkrani () {// iestatīt spēles ekrānu

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // zīmējam taisnstūri lcd.setFont (SmallFont); // iestatīt fontu lcd.print ("skor", 57, 1); // drukāt rezultātu lcd.print ("hiz", 60, 24); // drukas ātrums lcd.setFont (MediumNumbers); // iestatīt fontu lcd.printNumI (skor, 55, 8); // iegūt rezultātu lcd.printNumI (hiz, 63, 32); // iegūt ātrumu lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// noteikt vietas ienaidnieka formām

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // ja atrašanās vieta = 1 uzzīmē ienaidnieku, veidojot šo vietu, ja (yer == 2) {lcd.drawBitmap (10, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 3) {lcd.drawBitmap (18, asama, dusmanAraci, 7, 7); lcd.update (); } ja (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 () {// ja mums neizdodas, spēle beigusies

kamēr (1) {kavēšanās (100); // pagaidiet 1 milisekundi lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTRS, 8); // drukāt spēli virs lcd.print ("skorunuz =", 3, 30); // izdrukājiet savu rezultātu lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // iegūt pēdējo rezultātu lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // izslēgt apgaismojumu Izvades pinMode (xpin, INPUT); // iestatiet x tapu kā ievades lcd. InitLCD (); // inicializēt LCD ekrānu lcd.setContrast (55); // iestatīt kontrastu (no 0 līdz 127) Serial.begin (9600); // sākt sērijveida saziņu}

void loop () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu … // iestatiet joyistick atrašanās vietu …

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 un kontrole ir patiesa pozisyon ++; // palielināt atrašanās vietu tas nozīmē pārvietot formu uz labo kontrolieri = false; } cits if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // pozīcijas stāvoklis… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // uzzīmējiet mūsu kuģi, ja (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();}} (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 ();}

ja (dusmanoldu) {// ja ienaidnieka forma ir mirusi, pārbaudiet, vai tie ir miruši

dusmankonum1 = pozisyon; // izdarīt pirmo ienaidnieka formu dusmankonum2 = nejauši (0, 6); // kaut kur uzzīmēt citu ienaidnieka formu dusmankonum3 = nejauši (0, 6); dusmankonum4 = nejaušs (0, 6); dusmankonum5 = nejaušs (0, 6); dusmaninYdekonumu = 0; // ienest ienaidnieku no augšas dusmanoldu = false;} // ienaidnieks tiek atjaunots, lai tie nebūtu miruši

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // uzzīmējiet pirmo ienaidnieka formu un iegūstiet to no augšas uz leju

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // uzzīmējiet otro ienaidnieka formu un iegūstiet to no augšas uz leju dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// ja mūsu forma pieskaras ienaidnieka formām oyunbitti (); //spēle ir beigusies }

ja (dusmaninYdekonumu> 42) {// ja mūsu forma aizbēg no ienaidniekiem

dusmanoldu = taisnība; // nogalināt ienaidnieka formas skor ++; // palielināt rezultātu pa vienam}

// skora gore hizi artiriyoruz // palielināt ātrumu atbilstoši rezultātam

ja (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; kavēšanās (5); }

}

4. darbība: KODĒT BITMAP

Turklāt formām ir jāiekļauj bitkartes grafika. Tam jābūt.c failam.

#include // include programmas funkcijai

const unsigned char arac PROGMEM = {// mūsu formas bitkarte

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

const unsigned char dusmanAraci PROGMĒMA = {// ienaidnieka kuģa bitkarte

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

5. darbība. Paldies, ka skatījāties

Dažu vārdu nozīme:

Oyun => Spēle

Arac => Forma

Dusmans => ienaidnieks

kontrol => kontrole

Konum, Yer => Atrašanās vieta

Oyun Bitti => Spēle beigusies

Skor => Rezultāts

Hiz => Ātrums

Ieteicams: