Tartalomjegyzék:
- 1. lépés: RÉSZEK
- 2. lépés: Séma
- 3. lépés: KÓDOLÁS
- 4. lépés: BITMAP KÓDOLÁSA
- 5. lépés: Köszönjük, hogy megtekintette
Videó: Űrverseny játék 2. verzió: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Hello mindenki. A játék verziója előtt közzétettem a játék első verzióját. Ma megmutatom a Space Race Game 2. verzióját. Nézzük a lépéseket…
1. lépés: RÉSZEK
Itt van egy lista a részekről, amelyeket a projekt elkészítéséhez használtam:
- Arduino UNO
- Joystick modul
- Jumper vezetékek (férfi -férfi és férfi -nő)
- Kenyeretábla
2. lépés: Séma
VCC -> Arduino 5V
BL -> Arduino csap 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pin 8
DIN (MOSI) -> Arduino csap 9
DC -> Arduino pin 10
CE vagy CS -> Arduino csap 12
RST (RESET) -> Arduino pin 11
3. lépés: KÓDOLÁS
A kód magyarázatot ad a kódfunkciókra. Könnyen megérti. Ha problémája van, vegye fel velem a kapcsolatot.
#befoglalni
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)
boolean kontrol = igaz;
boolean dusmanoldu = igaz;
extern uint8_t SmallFont ; // leírja a betűtípusokat
extern uint8_t Közepes számok ; extern uint8_t arac ; // alakunk leírása extern uint8_t dusmanAraci ; // ellenséges alak leírása const int xpin = A0; // joystick x pin char pozisyon = 3; // a hely leírása, alakunk kiindulási helye 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // az ellenség leírása1 x hely int dusmankonum2; // az ellenség leírása2 x hely int dusmankonum3; // az ellenség leírása3 x hely int dusmankonum4; // az ellenség leírása4 x hely int dusmankonum5; // az ellenség leírása5 x hely int dusmaninYdekonumu;
void oyunEkrani () {// játék képernyő beállítása
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // téglalapot rajzolunk lcd.setFont (SmallFont); // set font lcd.print ("skor", 57, 1); // print score lcd.print ("hiz", 60, 24); // nyomtatási sebesség lcd.setFont (MediumNumbers); // set font lcd.printNumI (skor, 55, 8); // get score lcd.printNumI (hiz, 63, 32); // get speed lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// helyszínek beállítása az ellenséges alakzatokhoz
if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // ha location = 1 rajzoljon ellenséget, alakítsa ezt a helyet, ha (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 () {// ha kudarcot vallunk, a játéknak vége
míg (1) {késleltetés (100); // várj 1 ezredmásodperc lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // játék nyomtatása lcd.print felett ("skorunuz =", 3, 30); // a pontszám kinyomtatása lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // utolsó pontszám megszerzése lcd.update (); }}
void setup () {
pinMode (BL, OUTPUT); // háttérvilágítás kikapcsolása Kimeneti pinMode (xpin, INPUT); // állítsa be az x tűt bemenetként lcd. InitLCD (); // az LCD képernyő inicializálása lcd.setContrast (55); // kontraszt beállítása (0 és 127 között) Serial.begin (9600); // soros kommunikáció indítása}
void loop () {
analogWrite (BL, 350); oyunEkrani ();
// joyistic durumu … // állítsa be a joyistick helyét …
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 és a vezérlés igaz pozisyon ++; // a hely növelése azt jelenti, hogy az alakzatot jobbra kell mozgatni. } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // pozícióállapot… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // rajzold meg hajónkat, ha (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();}} ha (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 ();}
if (dusmanoldu) {// ha az ellenség alakja halott, ellenőrizze, hogy halottak -e
dusmankonum1 = pozisyon; // az első ellenséges alak rajzolása dusmankonum2 = véletlenszerű (0, 6); // valahol egy másik ellenséges alak rajzolása dusmankonum3 = véletlenszerű (0, 6); dusmankonum4 = véletlenszerű (0, 6); dusmankonum5 = véletlenszerű (0, 6); dusmaninYdekonumu = 0; // hozzon ellenséget a tetejéről dusmanoldu = false;} // az ellenséget újraalkotják, így nem haltak meg
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // rajzolja meg az első ellenséges alakot, és tegye felülről lefelé
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // rajzolja meg a második ellenséges alakot, és tegye felülről lefelé dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// ha alakunk megérinti az ellenséges formákat oyunbitti ((); //a játéknak vége }
if (dusmaninYdekonumu> 42) {// ha alakunk elmenekül az ellenségek elől
dusmanoldu = igaz; // megölni az ellenséges formákat skor ++; // egyenként növeli a pontszámot}
// skora gore hizi artiriyoruz // növelje a sebességet pontszám szerint
ha (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; késleltetés (5); }
}
4. lépés: BITMAP KÓDOLÁSA
Ezenkívül bitképes grafikát kell tartalmaznia az alakzatokhoz. Egy.c fájlnak kell lennie.
#include // include a progmem függvényhez
const unsigned char arac PROGMEM = {// alakunk bitképe
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// ellenséges hajó bitképe
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
5. lépés: Köszönjük, hogy megtekintette
Néhány szó jelentése:
Oyun => Játék
Arac => Alak
Dusman => Ellenség
kontrol => ellenőrzés
Konum, Yer => Hely
Oyun Bitti => Game Over
Skor => Pontszám
Hiz => Sebesség
Ajánlott:
Puha játék Bluetooth kocka és Android játék fejlesztése az MIT App Inventor segítségével: 22 lépés (képekkel)
Puha játék Bluetooth kocka és Android játék fejlesztése az MIT App Inventor segítségével: A kockajátéknak különböző módszerei vannak 1) Hagyományos játék fa vagy sárgaréz kockákkal. 2) Játssz mobilon vagy PC -n a mobil vagy a PC által véletlenszerűen létrehozott kockával. fizikailag játszani a kockával, és mozgatni az érmét a mobilon vagy a számítógépen
Simon játék - szórakoztató játék!: 5 lépés
Simon Game - Szórakoztató játék !: Referencia: IttHosszú hétvége után valóban keményen kell próbálnia elvégezni az összes feladatot és munkát, amelyekért Ön felelős. Itt az ideje, hogy edzjük az agyunkat, nem? Az unalmas és értelmetlen játékok mellett van egy Simon Game nevű játék
Arduino Űrverseny Játék _1: 5 lépés
Arduino Space Race Game _1 verzió: Hé barátok. Ma ı am ganna megmutatja, hogyan lehet űrverseny játékot készíteni az LCD5110 képernyő és joystic segítségével. Nézzük meg a lépéseket
Gyorsreagálású játék: Távoli verzió: 5 lépés (képekkel)
Gyorsreagálású játék: Távoli verzió: Szia. Ez egy utasítás, hogyan kell létrehozni egy játékot, amely teszteli a reakcióidőt és a távolságérzetet. Ez a projekt egy régi projekten alapul, amelyben két játékos vett részt, akik versenyeztek, hogy lássák, kinek gyorsabb a reakcióideje egy gomb megnyomásával
Űrverseny: Egyszerű Arduino Clicker játék a gyerekekkel: 7 lépés
Űrverseny: Egyszerű Arduino kattintójáték a gyerekekkel: ¡ feltöltök egy videót, amely bemutatja, hogyan működik ma! Szórakozzunk egy űr témájú oktatóanyaggal, amelyet a gyerekekkel együtt készíthetünk, majd később egyedül élvezhetik őket játékként. Használhatja azt, hogy megtanítsa nekik a közös történelmet