Tartalomjegyzék:
- 1. lépés: SZÜKSÉGLETEK
- 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ÖNÖM A MEGTEKINTÉSET
Videó: Arduino Űrverseny Játék _1: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Hé barátok. Ma ı am ganna megmutatja, hogyan készíthet Űrverseny játékot az LCD5110 képernyő és joystic segítségével. Nézzük meg a lépéseket…
1. lépés: SZÜKSÉGLETEK
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, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont ; // a betűtípusok leírása extern uint8_t MediumNumbers ; extern uint8_t arac ; // alakunk leírása extern uint8_t dusman_araci ; // ellenséges alak leírása const int xpin = A0; // joystick x pin char pozisyon = 2; // a hely leírása, alakunk kiindulási hely 2 boolean kontrol = true; boolean dusmanOldu = igaz; int skor = 0; int hiz = 0; int dusmanKonumu1; // az ellenség leírása1 x hely int dusmanKonumu2; // az ellenség leírása2 x hely int dusmaninYdeKonumu; // leírja az ellenséget és a helyét
void dusmanAraci (int yer, int asama) {// helyszínek beállítása az ellenséges alakzatokhoz
if (yer == 1) {// ha hely = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // ellenséges alakzat rajzolása} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } if (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
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 (); // a képernyő törlése lcd.setFont (SmallFont); // set font lcd.print ("GAME OVER", CENTER, 20); // print lcd.update (); // frissítse a képernyőt}}
void setup () {pinMode (BL, OUTPUT); // háttérvilágítás kimenet 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, 200);
// játék képernyő beállítása lcd.drawRect (0, 0, 47, 47); // téglalapot rajzolunk lcd.setFont (SmallFont); // set font lcd.print ("skor", 53, 0); // printf score lcd.setFont (Közepes számok); // set font lcd.printNumI (skor, 59, 7); // get score lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // nyomtatási sebesség lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // get speed lcd.update (); // frissítés
// állítsa be a joyistick helyét int x = analogRead (xpin); if (x <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// if location! = 3, x state> 600 és a vezérlés igazi pozisyon ++; // a hely növelése azt jelenti, hogy az alakzatot jobbra kell mozgatni. } else if (x> 300 && x <600) {kontrol = true; } Sorozat.println (x); // tanuláshoz x állapot // állítsa be az alakzatunk helyét lcd.clrScr (); // törölje a képernyőt, ha (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // rajzold meg hajónkat, ha (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
ha (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
if (dusmanOldu) {// ha az ellenséges alak halott, ellenőrizze, hogy halottak -e
dusmanKonumu1 = pozisyon; // első ellenséges alak rajzolása dusmanKonumu2 = véletlenszerű (0, 4); // másik ellenséges alakzat rajzolása valahol dusmaninYdeKonumu = 0; // ellenség felhozása felülről dusmanOldu = hamis;} // az ellenséget újraalkotják, így nem halnak meg dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // rajzolja meg az első ellenséges alakot, és tegye felülről lefelé dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // rajzolja meg a második ellenséges alakzatot, és tegye felülről lefelé, ha (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon)))) {// ha alakunk megérinti az ellenséges formákat oyunBitti ();} // a játéknak vége, ha (dusmaninYdeKonumu> 40) {// ha alakunk elmenekül az ellenségek elől dusmanOldu = igaz; // öld meg az ellenséges formákat skor ++;} // egyenként növeld a pontszámot // növeld a sebességet pontszám szerint, ha (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; késleltetés (40); }}
4. lépés: BITMAP KÓDOLÁSA
Ezenkívül bitképes grafikát kell tartalmaznia az alakzatokhoz.. C fájlnak kell lennie, és ugyanazzal a névvel, kódnévvel. Ezenkívül ugyanabban a fájlban kell lennie.
// ------------------------------------------------ ------------------------------ // Az LCD asszisztens által létrehozott fájl // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // include progmem függvényhez
const unsigned char arac PROGMEM = {// alakunk bitképe
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// ellenséges hajó bitképe
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
5. lépés: KÖSZÖNÖM A MEGTEKINTÉSET
Mielőtt elkezdtem megosztani a projektjeimet, török szavakkal kódoltam, így nem tudtam minden szót angolra fordítani. Itt vannak a fordítás szavak, amelyek ezt a projektet használják, Oyun = Játék
Arac = Alak
Dusman = Ellenség
kontrol = irányítá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
Minion Cubecraft játék (zseblámpa játék): 4 lépés
Minion Cubecraft játék (A zseblámpa játéka): Régóta fáklyát akartam készíteni, hogy sötétben is használhassam, de az ötlet, hogy csak egy hengeres alakú tárgy legyen, csak be-ki kapcsolóval, ellenállt, hogy ne csináljam. Túl mainstream volt. Aztán egy napon a bátyám hozott egy kis NYÁK -ot
Űrverseny játék 2. verzió: 5 lépés
Űrverseny játék 2. verzió: Hé mindenkinek. A játék verziója előtt közzétettem a játék első verzióját. Ma ı megmutatja a Space Race Game 2. verzióját. Nézzük a lépéseket
Ű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