INHOUDSOPGAWE:
Video: Space Race Game Weergawe 2: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Hey almal. Voor die spelweergawe het ek die eerste weergawe van die spel gepubliseer. Vandag wys ek u Space Race Game weergawe 2. Kom ons kyk na stappe …
Stap 1: ONDERDELE
Hier is 'n lys van dele waarmee ek hierdie projek gemaak het:
- Arduino UNO
- Joystick -module
- Jumper Wires (manlik tot manlik en manlik tot vroulik)
- Broodbord
Stap 2: SKEMA
VCC -> Arduino 5V
BL -> Arduino -pen 3
GND -> Arduino GND
CLK (SCLK) -> Arduino -pen 8
DIN (MOSI) -> Arduino -pen 9
DC -> Arduino -pen 10
CE of CS -> Arduino -pen 12
RST (RESET) -> Arduino -pen 11
Stap 3: KODE
Die kode bevat verduidelikings van kodefunksies. U sal dit maklik verstaan. As u 'n probleem het, kan u my kontak.
#insluit
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)
boolean control = true;
boolean dusmanoldu = true;
eksterne uint8_t SmallFont ; // beskryf die lettertipes
eksterne uint8_t MediumNumbers ; ekstern uint8_t arac ; // beskryf ons vorm ekstern uint8_t dusmanAraci ; // beskryf die vorm van die vyand const int xpin = A0; // joystick x pin char pozisyon = 3; // beskryf die ligging, ons vorm begin plek 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // beskryf vyand1 x ligging int dusmankonum2; // beskryf vyand2 x ligging int dusmankonum3; // beskryf vyand3 x ligging int dusmankonum4; // beskryf vyand4 x ligging int dusmankonum5; // beskryf vyand5 x ligging int dusmaninYdekonumu;
void oyunEkrani () {// stel spelskerm in
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // ons teken reghoek lcd.setFont (SmallFont); // stel lettertipe lcd.print ("skor", 57, 1); // druk telling lcd.print ("hiz", 60, 24); // druksnelheid lcd.setFont (MediumNumbers); // stel lettertipe lcd.printNumI (skor, 55, 8); // kry telling lcd.printNumI (hiz, 63, 32); // kry spoed lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// stel plekke vir vyandelike vorms in
if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 teken vyand hierdie plek as (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 ();}}
ongeldig oyunbitti () {// as ons misluk, is die spel verby
terwyl (1) {vertraging (100); // wag 1 milisekonde lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTRE, 8); // druk spel oor lcd.print ("skorunuz =", 3, 30); // druk u telling lcd.setFont (MediumNumbers) af; lcd.printNumI (skor, 60, 25); // kry laaste telling lcd.update (); }}
ongeldige opstelling () {
pinMode (BL, UITGANG); // terugsit lig Output pinMode (xpin, INPUT); // stel x -pen in as 'n invoer lcd. InitLCD (); // begin die lcd -skerm lcd.setContrast (55); // stel kontras (tussen 0 en 127) Serial.begin (9600); // begin met reekskommunikasie}
leemte -lus () {
analogWrite (BL, 350); oyunEkrani ();
// joyistic durumu … // stel die joyistick -ligging in …
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 en beheer is waar pozisyon ++; // verhoog die ligging wat dit beteken, skuif die vorm na die regte kontrol = false; } anders as (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu … // posisie staat … if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // teken ons skip as (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 ();}
as (dusmanoldu) {// as die vyand se vorm dood is, kyk of dit dood is
dusmankonum1 = pozisyon; // teken eerste vyandelike vorm dusmankonum2 = random (0, 6); // teken êrens 'n ander vyandelike vorm dusmankonum3 = random (0, 6); dusmankonum4 = ewekansig (0, 6); dusmankonum5 = ewekansig (0, 6); dusmaninYdekonumu = 0; // bring vyand van bo af dusmanoldu = vals;} // vyand word herskep sodat hulle nie dood is nie
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // teken die eerste vyandelike vorm en kry dit van bo na onder
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // teken die tweede vyandelike vorm en haal dit van bo na onder dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; as (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// as ons vorm vyandelike vorms raak oyunbitti (); //die spel is verby }
as (dusmaninYdekonumu> 42) {// as ons vorm van vyande ontsnap
dusmanoldu = waar; // vermoor vyandelike vorms skor ++; // verhoog die telling een vir een}
// skora gore hizi artiriyoruz // verhoog spoed volgens telling
as (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; vertraging (5); }
}
Stap 4: KODE BITMAP
Verder moet u 'n bitmap -grafika vir vorms insluit, dit moet 'n.c -lêer wees.
#include // include for progmem function
const unsigned char arac PROGMEM = {// ons vorm -bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// vyandskip se bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Stap 5: Dankie dat u gekyk het
Betekenis van 'n paar woorde:
Oyun => Spel
Arac => Vorm
Dusman => Vyand
kontrol => beheer
Konum, Yer => Ligging
Oyun Bitti => Game Over
Skor => telling
Hiz => Spoed
Aanbeveel:
E-dohicky die elektroniese weergawe van Russ's Laser Power Meter Dohicky: 28 stappe (met foto's)
E-dohicky die elektroniese weergawe van Russ's Laser Power Meter Dohicky: Laser kraggereedskap. E-dohicky is die elektroniese weergawe van die dohicky van Russ SADLER. Russ animeer die baie goeie SarbarMultimedia youtube kanaal https://www.youtube.com/watch?v=A-3HdVLc7nI&t=281sRuss SADLER bied 'n maklike en goedkoop bykomstigheid
The ThreadBoard (nie-3D-gedrukte weergawe): E-Textile Rapid Prototyping Board: 4 stappe (met foto's)
Die ThreadBoard (nie-3D-gedrukte weergawe): E-Textile Rapid Prototyping Board: Die Instructable vir die 3D-gedrukte weergawe van die ThreadBoard V2 kan hier gevind word.Versie 1 van die ThreadBoard kan hier gevind word.Deur die kostehindernisse, reis, pandemies en ander hindernisse, het u moontlik nie toegang tot 'n 3D -drukker nie, maar wil u
Arduino Space Race Game weergawe _1: 5 stappe
Arduino Space Race Game Weergawe _1: Hey vriende. Vandag wys ek u hoe u 'n Space Race Game kan maak met 'n LCD5110 -skerm en 'n joystic
8x16 LED Matrix Pong Game (2 paddles per speler weergawe): 3 stappe
8x16 LED Matrix Pong Game (2 Paddles Per Player Version): Ek is geïnspireer deur baie variasies van die klassieke Pong -spel wat op Arduino geïmplementeer is met behulp van 'n 8x8 LED matriks. In hierdie instruksies sal ek jou wys hoe om my gunsteling Pong -weergawe te bou met twee spane - doelskieter en doelwagter - per speler
Space Race: Eenvoudige Arduino Clicker -speletjie om saam met die kinders te maak: 7 stappe
Space Race: Eenvoudige Arduino Clicker -speletjie om saam met die kinders te maak: en ek laai 'n video op wat wys hoe dit vandag werk! Bly ingeskakel Kom ons geniet dit met 'n ruimte-tema instruksies wat saam met kinders gemaak kan word, en later alleen as 'n speelding kan geniet word. U kan dit as 'n middel gebruik om hulle geskiedenis te leer oor