Kazalo:

Igra Space Race različica 2: 5 korakov
Igra Space Race različica 2: 5 korakov

Video: Igra Space Race različica 2: 5 korakov

Video: Igra Space Race različica 2: 5 korakov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Image
Image

Pozdravljeni vsi. Pred to različico igre sem objavil prvo različico igre. Danes vam bom pokazal različico igre Space Race Game 2. Poglejmo korake …

1. korak: DELI

SHEMA
SHEMA

Tu je seznam delov, ki sem jih uporabil za izdelavo tega projekta:

  • Arduino UNO
  • Modul igralne palice
  • Mostične žice (moški do moški in moški do ženske)
  • Ogledna plošča

2. korak: SEMA

VCC -> Arduino 5V

BL -> Arduino pin 3

GND -> Arduino GND

CLK (SCLK) -> Arduino pin 8

DIN (MOSI) -> Arduino pin 9

DC -> Arduino pin 10

CE ali CS -> Arduino pin 12

RST (RESET) -> Arduino pin 11

3. korak: KODIRANJE

KODA
KODA

Koda ima razlage kodnih funkcij. To boste zlahka razumeli. Če imate težave, me lahko kontaktirate.

#vključi

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

logični nadzor = res;

logični dusmanoldu = res;

extern uint8_t SmallFont ; // opišemo pisave

extern uint8_t MediumNumbers ; zunanji uint8_t arac ; // opišemo našo obliko extern uint8_t dusmanAraci ; // opisati obliko sovražnika const int xpin = A0; // krmilna palica x pin char pozisyon = 3; // opišemo lokacijo, začetno obliko naše oblike 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // opiši sovražnika1 x lokacija int dusmankonum2; // opiši sovražnika2 x lokacijo int dusmankonum3; // opiši sovražnika3 x lokacijo int dusmankonum4; // opišeš sovražnika4 x lokacijo int dusmankonum5; // opiši sovražnika5 x lokacijo int dusmaninYdekonumu;

void oyunEkrani () {// nastavi zaslon igre

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // narišemo pravokotnik lcd.setFont (SmallFont); // nastavi pisavo lcd.print ("skor", 57, 1); // natisni rezultat lcd.print ("hiz", 60, 24); // hitrost tiskanja lcd.setFont (MediumNumbers); // nastavi pisavo lcd.printNumI (skor, 55, 8); // dobimo rezultat lcd.printNumI (hiz, 63, 32); // dobimo hitrost lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// nastavite lokacije za oblike sovražnika

if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // če je lokacija = 1 narišite sovražnika v to lokacijo, če (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 () {// če nam ne uspe, je igre konec

medtem ko (1) {zamuda (100); // počakajte 1 milisekundo lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // natisni igro preko lcd.print ("skorunuz =", 3, 30); // natisnite vaš rezultat lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // dobimo zadnji rezultat lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // nastavitev osvetlitve ozadja Output pinMode (xpin, INPUT); // nastavimo x pin kot vhodni lcd. InitLCD (); // inicializira lcd zaslon lcd.setContrast (55); // nastavimo kontrast (od 0 do 127) Serial.begin (9600); // zaženi serijsko komunikacijo}

void loop () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu… // nastavite lokacijo joysticka…

int durumx = analogRead (xpin); if (durumx <300 && pozisyon! = 1 && kontrol == true) {// če je lokacija! = 1, x stanje600 && pozisyon! = 6 && nadzor == true) {// če je lokacija! = 3, x stanje> 600 in nadzor je pravi pozisyon ++; // povečanje lokacije pomeni premikanje oblike v desno kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // stanje položaja… if (pozisyon == 1) {// če je lokacija = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // narišimo našo ladjo, če (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) {// če je oblika sovražnika mrtva, preverite, ali so mrtvi

dusmankonum1 = pozisyon; // narišemo prvo obliko sovražnika dusmankonum2 = naključno (0, 6); // nekje narišemo drugo obliko sovražnika dusmankonum3 = naključno (0, 6); dusmankonum4 = naključno (0, 6); dusmankonum5 = naključno (0, 6); dusmaninYdekonumu = 0; // pripeljemo sovražnika z vrha dusmanoldu = false;} // sovražnik se ponovno ustvari, da niso mrtvi

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // narišemo prvo sovražnikovo obliko in jo dobimo od zgoraj navzdol

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // narišemo drugo obliko sovražnika in jo dobimo od zgoraj navzdol dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// če se naša oblika dotakne sovražnika oblikuje oyunbitti (); //igre je konec }

if (dusmaninYdekonumu> 42) {// če naša oblika pobegne pred sovražniki

dusmanoldu = res; // ubijanje sovražnikovih oblik skor ++; // zvišajte enega za drugim rezultat}

// skora gore hizi artiriyoruz // povečajte hitrost glede na rezultat

če (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; zamuda (5); }

}

4. korak: KODA BITMAP

Za oblike morate vključiti tudi slikovno sliko. To mora biti datoteka.c.

#include // vključi za funkcijo progmem

const unsigned char arac PROGMEM = {// naša bitna slika oblike

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

const unsigned char dusmanAraci PROGMEM = {// bitna slika sovražnikove ladje

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

5. korak: Hvala za ogled

Pomen nekaterih besed:

Oyun => Igra

Arac => Oblika

Dusman => Sovražnik

kontrol => nadzor

Konum, Yer => Lokacija

Oyun Bitti => Igra je končana

Skor => Rezultat

Hiz => Hitrost

Priporočena: