Kazalo:
Video: Igra Space Race različica 2: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
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
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 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:
E-dohicky Elektronska različica Russovega laserskega merilnika moči Dohicky: 28 korakov (s slikami)
E-dohicky Elektronska različica Russovega laserskega merilnika moči Dohicky: Lasersko električno orodje.e-dohicky je elektronska različica dohickyja podjetja Russ SADLER. Russ animira zelo dober youtube kanal SarbarMultimedia https://www.youtube.com/watch?v=A-3HdVLc7nI&t=281sRuss SADLER predstavlja enostaven in poceni dodatek
Izdelava preprostega robota iz stvari, ki jih lahko najdete v svoji hiši (različica z vročim kolesom): 5 korakov
Izdelava preprostega robota iz stvari, ki jih lahko najdete v svoji hiši (različica z vročim kolesom): Ta navodila vam bodo pokazala, kako narediti vročo kolo, ki deluje samo od sebe in deluje na baterije z dvojno A. Uporabljati boste morali le stvari, ki jih najverjetneje najdete v svoji hiši. Upoštevajte, da ta robot verjetno ne bo šel ravno naravnost,
Domači bojni robot različica 2: 6 korakov
Domači bojni robot različica 2: Torej … To je moja druga različica mojega protiutežnega bojnega robota! Rad bi vam predstavil " Sidewinder. &Quot; Za ta projekt sem uporabil 3D tiskane dele (ki sem jih oblikoval jaz) in nekaj elektronskih kosov, ki sem jih kupil za manj kot 100 USD. Uporabil sem CAD, zato
Različica igre Arduino Space Race _1: 5 korakov
Različica igre Arduino Space Race _1: Hej prijatelji. Danes vam bom pokazal, kako lahko naredite Space Race Game z zaslonom LCD5110 in joysticom
Igra za hiter odziv: Različica na daljavo: 5 korakov (s slikami)
Igra za hiter odziv: Različica na daljavo: Živjo. To je navodilo za ustvarjanje igre, ki preizkuša vaš reakcijski čas in občutek razdalje. Ta projekt temelji na starem projektu, v katerem sem sodeloval z dvema igralcema, ki sta s pritiskom na gumb w