Sadržaj:
Video: Igra Space Race verzija 2: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Zdravo svima. Prije ove verzije igre, objavio sam prvu verziju igre. Danas ću vam pokazati Space Race Game verziju 2. Pogledajmo korake …
Korak 1: DIJELOVI
Evo popisa dijelova koje sam koristio za izradu ovog projekta:
- Arduino UNO
- Joystick Module
- Kratkospojne žice (muški na muški i muški na ženski)
- Breadboard
Korak 2: SHEMA
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 ili CS -> Arduino pin 12
RST (RESET) -> Arduino pin 11
Korak 3: KOD
Kod ima objašnjenja funkcija koda. Lako ćete to razumjeti. Ako imate problem, možete me kontaktirati.
#include
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)
boolean control = true;
boolean dusmanoldu = true;
extern uint8_t SmallFont ; // opisuje fontove
extern uint8_t Srednji brojevi ; extern uint8_t arac ; // opisuje naš oblik extern uint8_t dusmanAraci ; // opis neprijateljskog oblika const int xpin = A0; // joystick x pin char pozisyon = 3; // opisuje lokaciju, početnu lokaciju našeg oblika 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // opišite neprijatelja1 x lokacija int dusmankonum2; // opišite neprijatelja2 x lokaciju int dusmankonum3; // opisuje neprijatelja3 x lokacija int dusmankonum4; // opišite neprijatelja4 x lokaciju int dusmankonum5; // opišite neprijatelja5 x lokaciju int dusmaninYdekonumu;
void oyunEkrani () {// postavlja ekran igre
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // crtamo pravokutnik lcd.setFont (SmallFont); // postavljanje fonta lcd.print ("skor", 57, 1); // ispis rezultata lcd.print ("hiz", 60, 24); // brzina ispisa lcd.setFont (MediumNumbers); // postavljanje fonta lcd.printNumI (skor, 55, 8); // dobije rezultat lcd.printNumI (hiz, 63, 32); // get speed lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// postavljanje lokacija za neprijateljske oblike
if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // ako je lokacija = 1 nacrtajte neprijatelja u obliku ove lokacije if (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 () {// ako ne uspijemo, igra je gotova
while (1) {odgoda (100); // čekamo 1 milisekundu lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTAR, 8); // ispisuje igru preko lcd.print ("skorunuz =", 3, 30); // ispišite rezultat lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // dobije posljednji rezultat lcd.update (); }}
void setup () {
pinMode (BL, OUTPUT); // postavljanje pozadinskog svjetla Output pinMode (xpin, INPUT); // postavljamo x pin kao ulazni lcd. InitLCD (); // iniciranje lcd ekrana lcd.setContrast (55); // postavljanje kontrasta (amound 0 do 127) Serial.begin (9600); // pokretanje serijske komunikacije}
void loop () {{100} {101}
analogWrite (BL, 350); oyunEkrani ();
// joyistic durumu… // postavljanje lokacije joysticka …
int durumx = analogRead (xpin); if (durumx <300 && pozisyon! = 1 && kontrola == true) {// if location! = 1, x state600 && pozisyon! = 6 && kontrol == true) {// if location! = 3, x state> 600 i kontrola je istinita pozisyon ++; // povećati lokaciju znači premjestiti oblik udesno kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // stanje pozicije… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // nacrtajmo naš brod if (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) {// ako je neprijateljski oblik mrtav, provjerite jesu li mrtvi
dusmankonum1 = pozisyon; // nacrtati prvi neprijateljski oblik dusmankonum2 = random (0, 6); // negdje nacrtati drugi neprijateljski oblik dusmankonum3 = random (0, 6); dusmankonum4 = slučajno (0, 6); dusmankonum5 = slučajno (0, 6); dusmaninYdekonumu = 0; // dovesti neprijatelja s vrha dusmanoldu = false;} // neprijatelj je ponovo stvoren tako da nije mrtav
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // nacrtajte prvi neprijateljski oblik i prenesite ga odozgo prema dolje
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // nacrtajte drugi neprijateljski oblik i postavite ga odozgo prema dolje dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// ako naš oblik dodiruje neprijatelja sa oyunbitti (); // igra je gotova}
if (dusmaninYdekonumu> 42) {// ako naš oblik pobjegne od neprijatelja
dusmanoldu = istina; // ubiti neprijateljske oblike skor ++; // povećati jedan po jedan rezultat}
// skora gore hizi artiriyoruz // povećajte brzinu prema rezultatu
if (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; kašnjenje (5); }
}
Korak 4: KOD BITMAP
Nadalje, morate uključiti bitmap grafiku za oblike. To mora biti.c datoteka.
#include // uključi za funkciju progmem
const unsigned char arac PROGMEM = {// naša bitmapa oblika
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// bitmapa neprijateljskog broda
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Korak 5: Hvala što ste pogledali
Značenje nekih reči:
Oyun => Igra
Arac => Oblik
Dusman => Neprijatelj
kontrol => kontrola
Konum, Yer => Lokacija
Oyun Bitti => Igra je gotova
Skor => Bodovi
Hiz => Brzina
Preporučuje se:
Igra "Space Impact" sa žiroskopom i LCD ekranom Nokia 5110: 3 koraka
Igra "Space Impact" sa žiroskopskim senzorom i Nokijom 5110 LCD: Nakon što mi je Tamagotchi umro (posljednji projekt), počeo sam tražiti novi način da gubim vrijeme. Odlučio sam programirati klasičnu igru "Space Impact" na Arduinu. Da bih igru učinio zanimljivijom i zabavnijom, upotrijebio sam žiroskopski senzor koji sam imao
Aruduino LED igra Brza igra za dva igrača: 8 koraka
Aruduino LED igra Brza igra za dva igrača: Ovaj projekat je inspirisan @HassonAlkeim. Ako ste voljni detaljno pogledati, evo linka koji možete provjeriti https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. Ova igra je poboljšana verzija Alkeima. To je
Verzija igre Arduino Space Race _1: 5 koraka
Arduino svemirska trka Verzija igre _1: Hej prijatelji. Danas ću vam pokazati kako možete napraviti igru Space Race na LCD5110 ekranu i joysticku. Pogledajmo korake
Interaktivna igra Tic-Tac Toe igra kojom se upravlja pomoću Arduina: 6 koraka
Interaktivna igra Tic-Tac Toe nogom kontrolirana s Arduinom: Cilj projekta Physical Tic-Tac-Toe je premjestiti dobro poznatu igru u fizičko područje. U početku igru igraju dva igrača na komadu papira - stavljajući naizmjence simbole 'X' i 'O'. Naša ideja je bila ispitati ponašanje igrača
Igra brze reakcije: Verzija na daljinu: 5 koraka (sa slikama)
Igra za brzu reakciju: Udaljenost Verzija: Bok. Ovo je Instrukcija o tome kako stvoriti igru koja testira i vaše vrijeme reakcije i osjećaj udaljenosti. Ovaj projekat je zasnovan na starom projektu koji sam radio, a u kojem su se dva igrača takmičila da vide ko je brže reagovao pritiskom na dugme sa