İçindekiler:
- Adım 1: PARÇALAR
- 2. Adım: ŞEMA
- 3. Adım: KOD
- 4. Adım: KOD BITMAP
- Adım 5: Görüntülediğiniz için teşekkürler
Video: Uzay Yarışı Oyunu Versiyon 2: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Selam millet. Bu oyun versiyonundan önce oyunun ilk versiyonunu yayınladım. Bugün size Space Race Game 2. versiyonunu göstereceğim. Adımlara bakalım…
Adım 1: PARÇALAR
Bu projeyi yapmak için kullandığım parçaların bir listesi:
- Arduino UNO'su
- Joystick Modülü
- Jumper Telleri (erkekten erkeğe ve erkekten dişiye)
- ekmek tahtası
2. Adım: ŞEMA
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 veya CS -> Arduino pin 12
RST (RESET) -> Arduino pin 11
3. Adım: KOD
Kodun, kod işlevlerinin açıklamaları vardır. Bunu kolayca anlayacaksın. Bir sorununuz olursa benimle iletişime geçebilirsiniz.
#Dahil etmek
LCD5110 lcd(8, 9, 10, 11, 12); //(clk, cin, dc,, rst, ce)
boolean kontrol=true;
boolean dusmanoldu=true;
harici uint8_t SmallFont; // yazı tiplerini tanımla
extern uint8_t MediumNumbers; harici uint8_t ara; //şeklimizi tanımla extern uint8_t dusmanAraci; //düşman şeklini tanımla const int xpin=A0; //joystick x pin char pozisyonu=3; //konumu tanımla, şekil başlangıç konumumuz 3 int BL=3; int skor=0; int hiz=0; int dusmankonum1; //düşman1 x konumu tanımla int dusmankonum2; //düşman2'yi tanımla x konum int dusmankonum3; //düşman3 x konumu tanımla int dusmankonum4; //düşman4 x konumu tanımla int dusmankonum5; //düşmanı tanımla5 x konumu int dusmaninYdekonumu;
void oyunEkrani(){ //oyun ekranını ayarla
lcd.clrScr(); lcd.drawRect(0, 0, 47, 47); // lcd.setFont(SmallFont) dikdörtgenini çiziyoruz; //yazı tipini ayarla lcd.print("skor", 57, 1); //baskı puanı lcd.print("hiz", 60, 24); //baskı hızı lcd.setFont(MediumNumbers); //yazı tipini ayarla lcd.printNumI(skor, 55, 8); //puan al lcd.printNumI(hiz, 63, 32); //hızı al lcd.update(); }
void dusmanAracidurum(int yer, int asama){ //düşman şekilleri için konumları ayarla
if(yer==1){ lcd.drawBitmap(2, asama, dusmanAraci, 7, 7);lcd.update();}//if konum=1 düşman çizin bu konumu şekillendirin if(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(){ //başarısız olursak oyun biter
while(1){ gecikme(100); //1 milisaniye bekle lcd.clrScr(); lcd.setFont(SmallFont); lcd.print("OYUN BİTTİ", MERKEZ, 8); // oyunu lcd.print("skorunuz=", 3, 30); // puanınızı yazdırın lcd.setFont(MediumNumbers); lcd.printNumI(skor, 60, 25); //son puanı al lcd.update(); } }
geçersiz kurulum() {
pinMode(BL, ÇIKIŞ); // arka ışığı ayarla Çıkış pinMode(xpin, INPUT); //x pinini giriş lcd olarak ayarla. InitLCD(); //lcd ekranını başlat lcd.setContrast(55); // karşıtlığı ayarla (0 ila 127 arasında) Serial.begin(9600); // seri komünasyonu başlat }
boşluk döngüsü () {
analogWrite(BL, 350); oyunEkrani();
//keyif durumu… //joyistik konumu ayarla…
int durumx=analogRead(xpin); if(durumx <300 && durum!=1 && kontrol==true){ //if location!=1, x state600 && durum!=6 && kontrol==true){ //if location!=3, x durum> 600 ve kontrol doğrudur pozisyon++; //konumu arttır yani şekli sağa kaydır kontrol=false; } else if(durumx >300 && durumx <600){ kontrol=true; } //pozisyon durumu… //konum durumu… if(pozisyon==1){ //if konum=1; lcd.drawBitmap(2, 41, arac, 7, 7);lcd.update();}//gemimizi çiz if(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();}
if(dusmanoldu){ //düşman şekli öldüyse, ölü olup olmadıklarını kontrol edin
dusmankonum1=pozisyon; //ilk düşman şeklini çiz dusmankonum2=rastgele(0, 6);//bir yere başka bir düşman şekli çiz dusmankonum3=rastgele(0, 6); dusmankonum4=rastgele(0, 6); dusmankonum5=rastgele(0, 6); dusmaninYdekonumu=0; //düşmanı tepeden getir dusmanoldu=false;} //düşman ölmesin diye yeniden yaratıldı
dusmanAracidurum(dusmankonum1, dusmaninYdekonumu);dusmaninYdekonumu++; //ilk düşman şeklini çiz ve yukarıdan aşağıya al
dusmanAracidurum(dusmankonum2, dusmaninYdekonumu);dusmaninYdekonumu++; // ikinci düşman şeklini çiz ve yukarıdan aşağıya al dusmanAracidurum(dusmankonum3, dusmaninYdekonumu);dusmaninYdekonumu++; dusmanAracidurum(dusmankonum4, dusmaninYdekonumu);dusmaninYdekonumu++; if(dusmaninYdekonumu>35 && ((dusmankonum1 == pozisyon)||(dusmankonum2 == durum)||(dusmankonum3 == pozisyon)||(dusmankonum4 == pozisyon)){ //şeklimiz düşman şekillerine dokunursa oyunbitti(); //oyun bitti }
if(dusmaninYdekonumu >42){//şeklimiz düşmanlardan kaçarsa
dusmanoldu = doğru; //düşman şekillerini öldür skor++; // puanı birer birer artır }
//skora gore hizi artiriyoruz //puana göre hızı arttır
if (skor>=0 && skor=10 && skor=20 && skor=30 && skor=40 && skor=50){ hiz=6; gecikme(5); }
}
4. Adım: KOD BITMAP
Ayrıca şekiller için bitmap grafiği eklemelisiniz. Bir.c dosyası olmalıdır.
#include // progmem işlevi için dahil et
const unsigned char arac PROGMEM = { //şekil bitmapimiz
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };
const unsigned char dusmanAraci PROGMEM = { //düşman gemisi bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };
Adım 5: Görüntülediğiniz için teşekkürler
Bazı kelimelerin anlamı:
Oyun => Oyun
Arac = > Şekil
Dusman => Düşman
kontrol = >kontrol
Konum, Yer => Konum
Oyun Bitti => Oyun Bitti
Skor => Skor
Hız => Hız
Önerilen:
DIY Araba Yarışı -- Makershala: 15 Adım
DIY Araba Yarışı || Makershala: Giriş Arkadaşınız size bir oyun gösterip oynamanızı isterse ve bu sizin için zorlayıcı olursa ne olur? Ya ona çok daha zor bir görev vererek ona meydan okumak istersen ve bu sürüşle ilgiliyse, eğlenceli de olacak
Arduino Uzay Kayaları Oyunu: 3 Adım
Arduino Space Rocks Oyunu: İster bilgisayarda, ister telefonda, oyun konsolunda veya bağımsız bir kutuda oynansın, birçok video oyunu bir engelden kaçınma unsuru içerir. Elbette, jeton toplamak veya bir labirentte yolunuzu bulmak için verilen puanlar olabilir,
Arduino Uzay Yarışı Oyunu Sürüm _1: 5 Adım
Arduino Uzay Yarışı Oyunu Sürüm _1: Merhaba arkadaşlar. Bugün sizlere LCD5110 ekran ve joystik ile Uzay Yarışı Oyunu nasıl yapabileceğinizi göstereceğim.Adımlara bakalım
Halloween At Yarışı Atari Oyunu: 6 Adım
Cadılar Bayramı At Yarışı Atari Oyunu: Bu yıl Cadılar Bayramı için bir at yarışı atari oyunu yapmaya karar verdik. Roll-a-Ball Horse Racing adlı mekanik bir versiyondan ilham aldık. Amacımız, geniş bir oyuncu yelpazesine hitap edecek basit kontrollere sahip bir oyun yapmaktı. Temel
Uzay Yarışı: Çocuklarla Yapabileceğiniz Basit Arduino Clicker Oyunu: 7 Adım
Uzay Yarışı: Çocuklarla Yapabileceğiniz Basit Arduino Tıklama Oyunu: ¡Bugün nasıl çalıştığını gösteren bir video yüklüyorum! Bizi takipte kalın Çocuklarla birlikte yapılabilecek ve daha sonra tek başlarına oyuncak olarak keyifle oynayabilecekleri uzay temalı bir öğretici ile eğlenelim