Innehållsförteckning:
Video: Space Race Game Version 2: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Hej allihopa. 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 …
Steg 1: DELAR
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, cin, dc,, rst, ce)
booleskt kontroll = sant;
booleska dusmanoldu = true;
extern uint8_t SmallFont ; // beskriv typsnitt
extern uint8_t MediumNumbers ; extern uint8_t arac ; // beskriv vår form extern uint8_t dusmanAraci ; // beskriv fiendeform const int xpin = A0; // joystick x pin pin char pozisyon = 3; // beskriv platsen, vår form startplats 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // beskriv fiende1 x plats int dusmankonum2; // beskriv fiende2 x plats int dusmankonum3; // beskriv fiende3 x plats int dusmankonum4; // beskriv fiende4 x plats int dusmankonum5; // beskriv fiende5 x plats int dusmaninYdekonumu;
void oyunEkrani () {// ställ in spelskärm
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // vi ritar rektangel lcd.setFont (SmallFont); // set font lcd.print ("skor", 57, 1); // print score lcd.print ("hiz", 60, 24); // utskriftshastighet lcd.setFont (MediumNumbers); // set font lcd.printNumI (skor, 55, 8); // få poäng lcd.printNumI (hiz, 63, 32); // få hastighet lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// ange platser för fiendens former
if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 rita fienden form denna plats om (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 () {// om vi misslyckas, är spelet över
medan (1) {delay (100); // vänta 1 milisekund lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // skriv ut spel över lcd.print ("skorunuz =", 3, 30); // skriv ut din poäng lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // få sista poäng lcd.update (); }}
void setup () {
pinMode (BL, OUTPUT); // återställ ljus Output pinMode (xpin, INPUT); // ställ in x pin som ingå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, 350); oyunEkrani ();
// joyistic durumu … // ställ in joyistick -platsen …
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 och kontrollen är sann pozisyon ++; // öka platsen det betyder flytta form till höger kontroll = false; } annars if (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 ();} // rita vårt skepp om (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 ();}
om (dusmanoldu) {// om fiendens form är död, kontrollera om de är döda
dusmankonum1 = pozisyon; // rita första fiendens form dusmankonum2 = slumpmässigt (0, 6); // rita en annan fiendens form någonstans dusmankonum3 = random (0, 6); dusmankonum4 = slumpmässig (0, 6); dusmankonum5 = slumpmässig (0, 6); dusmaninYdekonumu = 0; // ta med fienden från toppen dusmanoldu = false;} // fienden återskapas så att de inte är döda
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // rita första fiendens form och få den uppifrån och ner
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // rita andra fiendens form och få den uppifrån och ner dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// om vår form berör fiendens former oyunbitti (); //spelet är över }
if (dusmaninYdekonumu> 42) {// om vår form flyr från fiender
dusmanoldu = sant; // döda fiendens former skor ++; // öka poängen en efter en}
// skora gore hizi artiriyoruz // öka hastigheten enligt poäng
if (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; fördröjning (5); }
}
Steg 4: KODBITMAPP
Dessutom måste du inkludera bitmappsgrafik för former. Det måste vara en.c -fil.
#include // include för programfunktion
const osignerad char arac PROGMEM = {// vår form bitmapp
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const osignerad char dusmanAraci PROGMEM = {// fiendens skepps bitmapp
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Steg 5: Tack för att du tittade
Betydelse av några ord:
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,
Arduino Space Race Game Version _1: 5 steg
Arduino Space Race Game Version _1: Hej vänner. Idag visar jag dig hur du kan göra ett rymdloppsspel med LCD5110 -skärm och joystik. 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