Innholdsfortegnelse:
Video: Space Race Game Versjon 2: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Hei alle sammen. Før denne spillversjonen publiserte jeg den første versjonen av spillet. I dag vil jeg vise deg Space Race Game versjon 2. La oss se trinn …
Trinn 1: DELER
Her er en liste over deler jeg brukte til å lage dette prosjektet:
- Arduino UNO
- Joystick -modul
- Jumper Wires (mann til mann og mann til kvinne)
- Brødbrett
Trinn 2: SCHEMA
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
Trinn 3: KODE
Koden har forklaringer på kodefunksjoner. Du vil lett forstå det. Hvis du har et problem, kan du kontakte meg.
#inkludere
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)
boolsk kontroll = true;
boolsk dusmanoldu = true;
ekstern uint8_t SmallFont ; // beskriv fonter
ekstern uint8_t MediumNumbers ; ekstern uint8_t arac ; // beskrive vår form eksternt uint8_t dusmanAraci ; // beskriv fiendens form const int xpin = A0; // joystick x pin char pozisyon = 3; // beskrive plasseringen, vår form startplassering 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // beskrive fiende1 x plassering int dusmankonum2; // beskrive fiende2 x plassering int dusmankonum3; // beskrive fiende3 x plassering int dusmankonum4; // beskrive fiende4 x plassering int dusmankonum5; // beskrive fiende5 x plassering int dusmaninYdekonumu;
void oyunEkrani () {// sett spillskjerm
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // vi tegner rektangel lcd.setFont (SmallFont); // sett skrift lcd.print ("skor", 57, 1); // print score lcd.print ("hiz", 60, 24); // utskriftshastighet lcd.setFont (MediumNumbers); // sett font lcd.printNumI (skor, 55, 8); // få score lcd.printNumI (hiz, 63, 32); // få hastighet lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// angi steder for fiendens former
hvis (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 tegne fienden form denne plasseringen 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 mislykkes, er spillet over
mens (1) {forsinkelse (100); // vent 1 milisekund lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // skriv ut spill over lcd.print ("skorunuz =", 3, 30); // Skriv ut poengsummen lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // få siste poengsum lcd.update (); }}
ugyldig oppsett () {
pinMode (BL, OUTPUT); // sett tilbake lys Output pinMode (xpin, INPUT); // angi x pin som inngang lcd. InitLCD (); // start lcd -skjermen lcd.setContrast (55); // sett kontrast (mengde 0 til 127) Serial.begin (9600); // start seriell kommunikasjon}
void loop () {
analogWrite (BL, 350); oyunEkrani ();
// joyistic durumu… // angi joyistick -plasseringen…
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 kontroll er sant pozisyon ++; // øke plasseringen det betyr flytte form til høyre kontroll = false; } annet hvis (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu … // posisjonstilstand … if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // tegne vårt skip 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 fiendens form er død, sjekk om de er døde
dusmankonum1 = pozisyon; // tegne første fiendeform dusmankonum2 = tilfeldig (0, 6); // tegne en annen fiendeform et sted dusmankonum3 = tilfeldig (0, 6); dusmankonum4 = tilfeldig (0, 6); dusmankonum5 = tilfeldig (0, 6); dusmaninYdekonumu = 0; // ta med fienden fra toppen dusmanoldu = false;} // fienden blir gjenskapt slik at de ikke er døde
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // tegne den første fiendens form og få den fra topp til bunn
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // tegne den andre fiendens form og få den fra topp til bunn dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; hvis (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// hvis vår form berører fiendtlige former oyunbitti (); //spillet er over }
if (dusmaninYdekonumu> 42) {// hvis vår form flykter fra fiender
dusmanoldu = true; // drep fiendeformer skor ++; // øke poengsummen en etter en}
// skora gore hizi artiriyoruz // øke hastigheten i henhold til poengsummen
hvis (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; forsinkelse (5); }
}
Trinn 4: KODE BITMAP
Videre må du inkludere punktgrafikk for figurer. Det må være en.c -fil.
#include // include for progmem function
const usignert char arac PROGMEM = {// vårt form -bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// fiendens skip bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Trinn 5: Takk for at du så på
Betydningen av noen ord:
Oyun => Spill
Arac => Form
Dusman => Fiende
kontroll => kontroll
Konum, Yer => Plassering
Oyun Bitti => Spill over
Skor => Poengsum
Hiz => Hastighet
Anbefalt:
ThreadBoard (ikke-3D-trykt versjon): E-Textile Rapid Prototyping Board: 4 trinn (med bilder)
ThreadBoard (ikke-3D-trykt versjon): E-Textile Rapid Prototyping Board: Instructable for 3D-trykt versjon av ThreadBoard V2 finner du her. Versjon 1 av ThreadBoard finner du her. Gjennom kostnadshinder, reise, pandemier og andre barrierer, har du kanskje ikke tilgang til en 3D -skriver, men vil ha
Gjør en enkel robot ut av ting du kan finne i huset ditt (hotwheel -versjon): 5 trinn
Gjør en enkel robot ut av ting du kan finne i huset ditt (hotwheel-versjon): Denne instruksjonen viser deg hvordan du lager et hotwheel som går av seg selv og som kjører på doble A-batterier. Du trenger bare å bruke ting du mest sannsynlig finner i huset ditt. Vær oppmerksom på at denne roboten sannsynligvis ikke vil gå helt rett, en
Arduino Volt Meter (0-100V DC) - Versjon 2 (bedre): 3 trinn
Arduino Volt Meter (0-100V DC)-Versjon 2 (bedre): I denne instruksen har jeg bygget et voltmeter for å måle høyspenninger DC (0-100v) med relativ presisjon og nøyaktighet ved bruk av en Arduino Nano og en ADS 1115 ADC .Dette er en andre versjon av voltmeteret som ble brukt i den forrige instruksen min her: https: // ww
Arduino Space Race Game Version _1: 5 Steps
Arduino Space Race Game Version _1: Hei venner. I dag viser jeg deg hvordan du kan lage et Space Race Game med LCD5110 -skjerm og joystic. La oss se trinnene
Space Race: Enkelt Arduino Clicker -spill å lage med barna: 7 trinn
Space Race: Simple Arduino Clicker Game to Make With the Kids: ¡ Jeg laster opp en video som viser hvordan det fungerer i dag! Følg med La oss ha det gøy med en instruks som er tilgjengelig i romtema og som kan lages sammen med barn, og senere kan nytes av dem alene som et leketøy. Du kan bruke den som et middel for å lære dem historie om