Përmbajtje:
Video: Hapësirë Garë Lojë Version 2: 5 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Pershendetje te gjithe. Para këtij versioni të lojës, ı publikoi versionin e parë të lojës. Sot, ı do t'ju tregojë versionin e 2. të Space Race Game Le të shikojmë hapat…
Hapi 1: PJES
Këtu është një listë e pjesëve që kam përdorur për të bërë këtë projekt:
- Arduino UNO
- Moduli i xhojstikut
- Jumper Wires (mashkull për mashkull dhe mashkull për femër)
- Breadboard
Hapi 2: SKEMA
VCC -> Arduino 5V
BL -> pin Arduino 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pin 8
DIN (MOSI) -> Arduino pin 9
DC -> pin Arduino 10
CE ose CS -> Arduino pin 12
RST (RESET) -> Arduino pin 11
Hapi 3: KODI
Kodi ka shpjegime të funksioneve të kodit. Do ta kuptoni lehtësisht. Nëse keni ndonjë problem, mund të më kontaktoni.
#përfshi
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)
boolean kontrol = e vërtetë;
boolean dusmanoldu = e vërtetë;
jashtme uint8_t SmallFont ; // përshkruani fontet
jashtme uint8_t Numrat e Mesëm ; jashtme uint8_t arac ; // përshkruani formën tonë të jashtme uint8_t dusmanAraci ; // përshkruaj formën e armikut const int xpin = A0; // joystick x pin char pozisyon = 3; // përshkruani vendndodhjen, vendi ynë i fillimit të formës 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // përshkruani armikun1 x vendndodhjen int dusmankonum2; // përshkruani armikun2 x vendndodhjen int dusmankonum3; // përshkruani armikun3 x vendndodhjen int dusmankonum4; // përshkruani armikun4 x vendndodhjen int dusmankonum5; // përshkruani armikun5 x vendndodhjen int dusmaninYdekonumu;
void oyunEkrani () {// vendos ekranin e lojës
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // vizatojmë drejtkëndësh lcd.setFont (SmallFont); // vendos fontin lcd.print ("skor", 57, 1); // rezultati i printimit lcd.print ("hiz", 60, 24); // shpejtësia e printimit lcd.setFont (Numrat e mesëm); // vendos fontin lcd.printNumI (skor, 55, 8); // merrni rezultatin lcd.printNumI (hiz, 63, 32); // merrni shpejtësinë lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// vendosni vende për format e armikut
nëse (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // nëse vendndodhja = 1 vizatoni armikun në këtë vend nëse (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 () {// nëse dështojmë, loja mbaron
ndërsa (1) {vonesë (100); // prisni 1 milisekonda lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // shtyp lojën mbi lcd.print ("skorunuz =", 3, 30); // printoni rezultatin tuaj lcd.setFont (Numrat e Mesëm); lcd.printNumI (skor, 60, 25); // merrni rezultatin e fundit lcd.update (); }}
void setup () {
pinMode (BL, OUTPUT); // ndez dritën e daljes PinMode (xpin, INPUT); // vendos x pin si hyrje lcd. InitLCD (); // filtroni ekranin LCD lcd.setContrast (55); // vendos kontrast (nga 0 në 127) Serial.fillo (9600); // fillo komunikimin serik}
lak void () {
analogWrite (BL, 350); oyunEkrani ();
// joyistic durumu… // caktoni vendndodhjen e joyistick…
int durumx = analogRead (xpin); nëse (durumx <300 && pozisyon! = 1 && kontrol == vërtetë) {// nëse vendndodhja! = 1, x gjendja 600 && pozisyon! = 6 && kontrol == vërtetë) {// nëse vendndodhja! = 3, x gjendje> 600 dhe kontrolli është pozisyon i vërtetë ++; // rrisni vendndodhjen do të thotë të lëvizni formën në të djathtë kontrol = false; } tjetër if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // gjendja e pozicionit… nëse (pozisyon == 1) {// nëse vendndodhja = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // vizatoni anijen tonë nëse (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 ();} nëse (pozisyon == 6) {lcd.drawBitmap (42, 41, arac, 7, 7); lcd.update ();}
nëse (dusmanoldu) {// nëse forma e armikut është e vdekur, kontrolloni nëse janë të vdekur
dusmankonum1 = pozisyon; // vizatoni formën e parë të armikut dusmankonum2 = e rastësishme (0, 6); // vizatoni një formë tjetër të armikut diku dusmankonum3 = e rastësishme (0, 6); dusmankonum4 = rastësor (0, 6); dusmankonum5 = rastësor (0, 6); dusmaninYdekonumu = 0; // sillni armikun nga maja dusmanoldu = false;} // armiku rikrijohet kështu që ata nuk janë të vdekur
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // vizatoni formën e parë të armikut dhe merrni atë nga lart poshtë
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // vizatoni formën e dytë të armikut dhe merrni atë nga lart poshtë dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; nëse (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozitë) || (dusmankonum2 == pozitë) || (dusmankonum3 == pozitë) || (dusmankonum4 == pozitë))) {// nëse forma jonë prek format e armikut oyunbitti (); //Loja mbaroi }
nëse (dusmaninYdekonumu> 42) {// nëse forma jonë ikën nga armiqtë
dusmanoldu = e vërtetë; // vrasin format e armikut skor ++; // rrisni rezultatin një nga një}
// skora gore hizi artiriyoruz // rrit shpejtësinë sipas rezultatit
nëse (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; vonesa (5); }
}
Hapi 4: KODI BITMAP
Për më tepër, duhet të përfshini grafikë bitmap për format. Duhet të jetë një skedar.c.
#include // include për funksionin progmem
const unsigned char arac PROGMEM = {// bitmap -i i formës sonë
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// bitmap anije armike
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Hapi 5: Faleminderit për shikimin
Kuptimi i disa fjalëve:
Oyun => Lojë
Arac => Forma
Dusman => Armiku
kontrol => kontroll
Konum, Yer => Vendndodhja
Oyun Bitti => Loja ka mbaruar
Skor => Rezultati
Hiz => Shpejtësia
Recommended:
Lojë "Ndikimi në Hapësirë" Me Sensor Gyro dhe Nokia 5110 LCD: 3 hapa
Lojë "Ndikimi në Hapësirë" Me Gyro Sensor dhe Nokia 5110 LCD: Pasi Tamagotchi im vdiq (projekti i fundit), fillova të kërkoj për një mënyrë të re për të humbur kohën time. Vendosa të programoj lojën klasike "Space Impact" në Arduino. Për ta bërë lojën më interesante dhe argëtuese, unë përdor një sensor xhiroskopi që kisha
Mini lojë "Guess the Number" Lojë me mikro: bit: 10 hapa
Mini Makina e lojës "Guess the Number" me Micro: bit: A keni luajtur ndonjëherë " Guess the Number "? Kjo është një makinë lojërash shumë e thjeshtë për t’u ndërtuar që luan " Guess the Number " me ty Ne e projektuam këtë projekt DIY për të inkurajuar lojën fizike dhe për t'i ndihmuar fëmijët të mësojnë programim. Ai përdor një MU
Rritja e më shumë marule në më pak hapësirë ose Rritja e marule në hapësirë, (më shumë ose më pak) .: 10 hapa
Rritja e më shumë Marule në Më pak Hapësirë Ose … Rritja e Marule në Hapësirë, (Më shumë ose Më Pak) .: Kjo është një paraqitje profesionale për Konkursin Growing Beyond Earth, Maker, i paraqitur përmes Instructables. Nuk mund të isha më i ngazëllyer që të dizajnoja për prodhimin e të korrave në hapësirë dhe të postoja Instructable -in tim të parë. Për të filluar, konkursi na kërkoi të
Garë Hapësinore: Lojë e thjeshtë Arduino Clicker për të bërë me fëmijët: 7 hapa
Garë Hapësinore: Lojë e thjeshtë Arduino Clicker për të bërë me fëmijët: ¡ Unë jam duke ngarkuar një video që tregon se si funksionon sot! Qëndroni të akorduar Le të argëtohemi me një udhëzues me temë hapësinore që mund të bëhet së bashku me fëmijët, dhe më vonë të kënaqen vetëm prej tyre si një lodër. Ju mund ta përdorni atë si një mjet për t'u mësuar atyre historinë rreth bashkëpunimit
Marrja e grafikës për një garë gërvishtëse Lojë: 7 hapa
Marrja e grafikës për një garë gërvishtëse Lojë: Ky tutorial do t'ju tregojë se si të bëni një lojë garash brenda Scratch