Indholdsfortegnelse:
Video: Space Race Game Version 2: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Hey alle sammen. Før denne spilversion udgav jeg den første version af spillet. I dag viser jeg dig Space Race Game version 2. Lad os se trin …
Trin 1: DELE
Her er en liste over dele, jeg brugte til at lave dette projekt:
- Arduino UNO
- Joystick -modul
- Jumper Wires (mand til mand og mand til kvinde)
- Brødbræt
Trin 2: SKEMA
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 eller CS -> Arduino pin 12
RST (RESET) -> Arduino pin 11
Trin 3: KODE
Koden har forklaringer på kodefunktioner. Du vil let forstå det. Hvis du har et problem, kan du kontakte mig.
#omfatte
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)
boolsk kontrol = sand;
boolsk dusmanoldu = sandt;
ekstern uint8_t SmallFont ; // beskriv skrifttyperne
ekstern uint8_t MediumNumbers ; ekstern uint8_t arac ; // beskrive vores form ekstern uint8_t dusmanAraci ; // beskriv fjendens form const int xpin = A0; // joystick x pin char pozisyon = 3; // beskriv placeringen, vores form start placering 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // beskrive fjende1 x placering int dusmankonum2; // beskrive fjende2 x placering int dusmankonum3; // beskrive fjende3 x placering int dusmankonum4; // beskrive fjende4 x placering int dusmankonum5; // beskrive fjende5 x placering int dusmaninYdekonumu;
void oyunEkrani () {// sæt spilskærm
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // vi tegner rektangel lcd.setFont (SmallFont); // sæt skrifttype lcd.print ("skor", 57, 1); // print score lcd.print ("hiz", 60, 24); // udskrivningshastighed lcd.setFont (MediumNumbers); // sæt skrifttype lcd.printNumI (skor, 55, 8); // få score lcd.printNumI (hiz, 63, 32); // få hastighed lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// angive placeringer for fjendtlige former
hvis (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // hvis location = 1 tegner fjenden form denne placering hvis (yer == 2) {lcd.drawBitmap (10, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 3) {lcd.drawBitmap (18, asama, dusmanAraci, 7, 7); lcd.update (); } hvis (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 () {// hvis vi fejler, er spillet slut
mens (1) {forsinkelse (100); // vent 1 milisekund lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // udskriv spil over lcd.print ("skorunuz =", 3, 30); // udskriv din score lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // få sidste score lcd.update (); }}
ugyldig opsætning () {
pinMode (BL, OUTPUT); // sæt lys tilbage Output pinMode (xpin, INPUT); // sæt x pin som input lcd. InitLCD (); // start lcd -skærmen lcd.setContrast (55); // indstil kontrast (mellem 0 og 127) Serial.begin (9600); // start seriel kommunikation}
void loop () {
analogWrite (BL, 350); oyunEkrani ();
// joyistisk durumu … // indstil joyistick -placeringen …
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 og kontrol er sand pozisyon ++; // øge placeringen, det betyder flytte form til højre kontrol = false; } ellers hvis (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu … // position state … if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // tegne vores skib, hvis (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 ();}
hvis (dusmanoldu) {// hvis fjendens form er død, skal du kontrollere, om de er døde
dusmankonum1 = pozisyon; // tegne første fjendens form dusmankonum2 = tilfældig (0, 6); // tegne en anden fjendtlig form et sted dusmankonum3 = tilfældig (0, 6); dusmankonum4 = tilfældig (0, 6); dusmankonum5 = tilfældig (0, 6); dusmaninYdekonumu = 0; // bringe fjende fra toppen dusmanoldu = false;} // fjenden genskabes, så de ikke er døde
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // tegn den første fjendtlige form og få den fra top til bund
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // tegne anden fjendens form og få den fra top til bund dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; hvis (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// hvis vores form rører fjendtlige former oyunbitti (); // spillet er slut}
hvis (dusmaninYdekonumu> 42) {// hvis vores form flygter fra fjender
dusmanoldu = sandt; // dræb fjendens former skor ++; // øg scoren en efter en}
// skora gore hizi artiriyoruz // øg hastigheden i henhold til score
hvis (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; forsinkelse (5); }
}
Trin 4: KODE BITMAP
Desuden skal du inkludere bitmapgrafik for figurer. Det skal være en.c -fil.
#include // include for progmem function
const usigneret char arac PROGMEM = {// vores form bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// fjendens skib bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Trin 5: Tak fordi du kiggede
Betydning af nogle ord:
Oyun => Spil
Arac => Form
Dusman => Fjende
kontrol => kontrol
Konum, Yer => Placering
Oyun Bitti => Game Over
Skor => Score
Hiz => Hastighed
Anbefalede:
LCD Invaders: a Space Invaders Like Game på 16x2 LCD Character Display: 7 trin
LCD Invaders: a Space Invaders Like Game på 16x2 LCD Character Display: Det er ikke nødvendigt at introducere et legendarisk “Space Invaders” -spil. Det mest interessante ved dette projekt er, at det bruger tekstvisning til grafisk output. Det opnås ved at implementere 8 brugerdefinerede tegn. Du kan downloade hele Arduino
Arduino Space Race Game Version _1: 5 trin
Arduino Space Race Game Version _1: Hej venner. I dag viser jeg dig hvordan du kan lave et Space Race Game med LCD5110 skærm og joystic. Lad os se trin
8x16 LED Matrix Pong Game (2 Paddles Per Player Version): 3 trin
8x16 LED Matrix Pong Game (2 Paddles Per Player Version): Jeg er blevet inspireret af mange variationer af det klassiske Pong -spil implementeret på Arduino ved hjælp af en 8x8 LED matrix. I denne instruktive vil jeg vise dig, hvordan du bygger min yndlings Pong -version, der har to padler - angriber og målmand - pr. Spiller
Quick Reaction Game: Distance Version: 5 trin (med billeder)
Hurtigt reaktionsspil: Afstandsversion: Hej. Dette er en instruktion om, hvordan du opretter et spil, der tester både din reaktionstid og følelse af afstand. Dette projekt er baseret på et gammelt projekt, jeg lavede, hvor to spillere konkurrerede om at se, hvem der havde en hurtigere reaktionstid ved at klikke på en knap
Space Race: Simpelt Arduino Clicker -spil at lave med børnene: 7 trin
Space Race: Simpelt Arduino Clicker -spil at lave med børnene: ¡ Jeg uploader en video, der viser, hvordan det fungerer i dag! Hold øje Lad os have det sjovt med et instruktør med rumtema, der kan laves sammen med børn, og senere kan nydes af dem alene som et legetøj. Du kan bruge det som et middel til at lære dem historie om