Innehållsförteckning:
Video: Arduino Space Race Game Version _1: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Hej vänner. Idag visar jag dig hur du kan göra ett rymdloppsspel med LCD5110 -skärm och joystic. Låt oss se steg …
Steg 1: BEHOV
Här är en lista över delar som jag använde för att göra detta projekt:
- Arduino UNO
- Joystick -modul
- Jumper Wires (man till man och man till kvinna)
- Bakbord
Steg 2: SCHEMA
VCC -> Arduino 5V
BL -> Arduino stift 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pin 8
DIN (MOSI) -> Arduino stift 9
DC -> Arduino stift 10
CE eller CS -> Arduino pin 12
RST (ÅTERSTÄLL) -> Arduino -stift 11
Steg 3: KOD
Koden har förklaringar av kodfunktioner. Du kommer lätt att förstå det. Om du har problem kan du kontakta mig.
#omfatta
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont ; // beskriv typsnittet extern uint8_t MediumNumbers ; extern uint8_t arac ; // beskriv vår form extern uint8_t dusman_araci ; // beskriv fiendeform const int xpin = A0; // joystick x pin char pozisyon = 2; // beskriv platsen, vår form start plats 2 boolsk kontroll = true; booleska dusmanOldu = true; int skor = 0; int hiz = 0; int dusmanKonumu1; // beskriv fiende1 x plats int dusmanKonumu2; // beskriv fiende2 x plats int dusmaninYdeKonumu; // beskriv fiender och plats
void dusmanAraci (int yer, int asama) {// ange platser för fiendens former
if (yer == 1) {// if location = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // rita fiendens form} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } if (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// om vi misslyckas, är spelet över
medan (1) {delay (100); // vänta 1 milisekund lcd.clrScr (); // rensa skärmen lcd.setFont (SmallFont); // set font lcd.print ("GAME OVER", CENTER, 20); // skriv ut lcd.update (); // uppdatera skärmen}}
void setup () {pinMode (BL, OUTPUT); // ställ tillbaka ljus Utgång lcd. InitLCD (); // initilaze lcd screen lcd.setContrast (55); // ställ in kontrast (mellan 0 och 127) Serial.begin (9600); // starta seriell kommunikation}
void loop () {
analogWrite (BL, 200);
// ställ in spelskärmen lcd.drawRect (0, 0, 47, 47); // vi ritar rektangel lcd.setFont (SmallFont); // set font lcd.print ("skor", 53, 0); // printf poäng lcd.setFont (MediumNumbers); // set font lcd.printNumI (skor, 59, 7); // få poäng lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // utskriftshastighet lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // få hastighet lcd.update (); //uppdatering
// ställ in joyistick -platsen int x = analogRead (xpin); if (x <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// if location! = 3, x state> 600 och kontrollen är sann pozisyon ++; // öka platsen det betyder flytta form till höger kontroll = false; } annat om (x> 300 && x <600) {kontrol = true; } Serial.println (x); // för att lära sig x -tillstånd // ställ in vår form -plats lcd.clrScr (); // rensa skärmen om (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // rita vårt skepp om (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
om (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
if (dusmanOldu) {// om fiendens form är död, kontrollera om de är döda
dusmanKonumu1 = pozisyon; // rita första fiendens form dusmanKonumu2 = random (0, 4); // rita en annan fiendens form någonstans dusmaninYdeKonumu = 0; // ta med fienden från toppen dusmanOldu = false;} // fienden återskapas så att de inte är döda dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // rita första fiendens form och få den uppifrån och ner dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // rita andra fiendens form och få den uppifrån och ner om (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))) {// om vår form berör fiendens former oyunBitti ();} // spelet är över om (dusmaninYdeKonumu> 40) {// om vår form flyr från fiender dusmanOldu = true; // döda fiendens former skor ++;} // öka poängen en efter en // öka hastigheten enligt poängen om (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; fördröjning (40); }}
Steg 4: KODBITMAPP
Dessutom måste du inkludera bitmappsgrafik för former. Det måste vara en.c -fil och samma namn med kodenamn. Den måste också finnas i samma fil.
// ------------------------------------------------ ------------------------------ // Fil genererad av LCD Assistant // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // include för programfunktion
const osignerad char arac PROGMEM = {// vår form bitmapp
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const osignerad char dusman_araci PROGMEM = {// fiendens skepps bitmapp
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Steg 5: TACK FÖR VISNINGEN
Innan jag började dela mina projekt, kodade jag i turkiska ord så jag kunde inte chansa alla ord till engelska.
Oyun = Spel
Arac = form
Dusman = Fiend
kontroll = kontroll
Konum, Yer = Plats
Oyun Bitti = Game Over
Skor = Poäng
Hiz = Hastighet
Rekommenderad:
LCD Invaders: a Space Invaders Like Game på 16x2 LCD Character Display: 7 steg
LCD Invaders: a Space Invaders Like Game på 16x2 LCD Character Display: Det finns ingen anledning att introducera ett legendariskt "Space Invaders" -spel. Det mest intressanta med detta projekt är att det använder textvisning för grafisk utmatning. Det uppnås genom att implementera 8 anpassade tecken. Du kan ladda ner hela Arduino
Arduino Space Rocks Game: 3 steg
Arduino Space Rocks -spel: Oavsett om de spelas på en dator, i en telefon, på en spelkonsol eller på en fristående låda, innehåller många videospel ett element av hinderundvikande. Visst, det kan bli poäng som delas ut för att samla tokens eller hitta din väg genom en labyrint,
Space Race Game Version 2: 5 steg
Space Race Game Version 2: Hej alla. Innan den här spelversionen publicerade jag den första versionen av spelet. Idag visar jag Space Race Game version 2. Låt oss titta på steg
Quick Reaction Game: Distance Version: 5 steg (med bilder)
Quick Reaction Game: Distance Version: Hej. Detta är en instruktion om hur du skapar ett spel som testar både din reaktionstid och känsla av avstånd. Detta projekt är baserat på ett gammalt projekt som jag gjorde där två spelare tävlade för att se vem som hade en snabbare reaktionstid genom att klicka på en knapp
Space Race: Enkelt Arduino Clicker -spel att göra med barnen: 7 steg
Space Race: Simple Arduino Clicker Game to Make With the Kids: ¡ Jag laddar upp en video som visar hur det fungerar idag! Håll utkik Låt oss ha kul med en instruktion med rymdtema som kan göras tillsammans med barn och senare kan avnjutas av dem ensam som en leksak. Du kan använda den som ett medel för att lära dem historia om sam