flappybirdoyunu

Arduino ile Flappy Bird Oyunu Yapımı

Arkadaşlar bu aralarda çok ünlenen Flappy Bird’ün arduino ile yapılan versiyonu sizinle paylaşmak istiyorum. Ama paylaşırken demeden edemiyeceğim kim yaptıysa helal olsun diyorum.

 

Projenin gerçekleştirilebilmesi için bir adet arduino , bir NOKİA 5110 LCD ye ve bir butona ihtiyacınız var. Projemizin zorluğu oyunun zorluğu diyebilirim çünkü proje sizin 5- 10 dakikanızı alacaktır.

Projemizin bağlantı şeması aşağıdaki gibidir.

flappyBİRD oyunu

Bu resimlerde de bu fakirin projenin çalışıp çalışmadığı için gerçekleştirdiği resimler.

flappybird1

flappybird2

Projemizde bir kaç tane kütüphane kullanılmaktadır bu kütüphaneler yazının altına iliştirilmiştir.


#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
//www.arduinom.org tarafından hazırlanmıştır. Program yüklenirken gerekli olan graphic dosyası elinizde yoksa //projemizi gerçekleştiremezsiniz. 
Adafruit_PCD8544 display = Adafruit_PCD8544(8, 9, 10, 11, 12);
 
#include "Sprite.h"
#include "Chym.h"
#include "Bar.h"
 
Chym player;
Bar bar; Bar bar2;
int gameScore = 0;
 
int KNOCK_PIN = 2;
int LED_PIN = 8;
 
boolean clicked = false;
 
void loop(){}
 
void resetGame() {
  player.respawn();
  bar.setPos(0, 20);
  bar2.setPos(50, 30);
  gameScore = 0;
}
 
void setup() {
  Serial.begin(9600);
 
  display.begin();
  display.setContrast(50);
  display.clearDisplay();
  display.display();
 
  digitalWrite(LED_PIN, HIGH);
 
  pinMode(KNOCK_PIN, INPUT_PULLUP);
  pinMode(LED_PIN, OUTPUT);
   
  resetGame();
   
  while(1) {
    getInput();
    player.update();
    bar.update(); bar2.update();
    drawLCD();
  }
}
 
void getInput() {
  int knock = digitalRead(KNOCK_PIN);
  if (knock == 0) { // push down
    clicked = true;
  }
  else {
    clicked = false;
  }
}
 
void drawLCD() {
  display.clearDisplay();
 
  if (!player.isDead()) {
    int ht1 = bar.hitTest(player.getX(), player.getY());
    int ht2 = bar2.hitTest(player.getX(), player.getY());
    int die = ht1 + ht2;
    if (die == 1) {
        // game over
        player.die();
    }
 
    if (clicked) {
      player.flyUp();
    }
    else {
      player.cancelJump();
    }
    player.render();   
     
    bar.render(); bar2.render();
  }
  else {
    display.setCursor(0, 0);
    display.setTextSize(2);
    display.println("OYUN   BITTI!");
    display.setTextSize(1);
    display.println("arduinom.org");
    if (clicked) {
      resetGame();
    }
  }
 
  display.display();
}
     

Boş zamanlarda arduino ile uğraşan kendi halinde bir Öğretmen.

  
  1. Yunus Kızılarslan 13 Kasım 2015 16:43

    Arduino:1.6.6 (Windows 8.1), Kart:”Arduino/Genuino Uno”

    C:\Users\yunus kızılarslan\Documents\Arduino\libraries\sketch_nov13a\sketch_nov13a\sketch_nov13a\sketch_nov13a\sketch_nov13a\sketch_nov13a.ino:7:20: fatal error: Sprite.h: No such file or directory

    compilation terminated.

    exit status 1
    Derleme sırasında hata oluştu.
    C:\Users\yunus kızılarslan\Documents\Arduino\libraries\sketch_nov13a içerisinde geçersiz kütüphane bulundu: C:\Users\yunus kızılarslan\Documents\Arduino\libraries\sketch_nov13a
    C:\Users\yunus kızılarslan\Documents\Arduino\libraries\sketch_nov13a içerisinde geçersiz kütüphane bulundu: C:\Users\yunus kızılarslan\Documents\Arduino\libraries\sketch_nov13a

    Rapor daha fazla veri içermeli
    “Derleme sırasında ayrıntılı çıktı göster”
    Dosya > Tercihler’de etkinleştirilmiş.

    Cevapla
    • admin 16 Kasım 2015 05:51

      Sprite.h grafik kütüphanesidir. Bu kütüphanenin düzgün olarak yüklenmediğinden bu hatayı alıyorsunuz.

      Cevapla
  2. admin 27 Ekim 2015 04:58

    lcd icin kutuphane olmadigindan dolayi bu sikintiyi yasiyorsunuz . Kutuphaneyi yazinin altina ekledim oradan indirerek yukleyin . sikintinizi asarsiniz.
    Hala hata devam ediyorsa hatayi tekrar yazin .

    Cevapla
    • Yağız Baran Kaplan 27 Ekim 2015 17:25

      Abi Şimdi de bu Hata

      Arduino:1.6.5 (Windows 7), Kart:”Arduino/Genuino Uno”

      Derleme seçenekleri değiştirildi, tümü yeniden derleniyor.

      In file included from sketch_oct27a.ino:7:0:
      C:\Program Files (x86)\Arduino\libraries\flappybirdARDUINOM.ORG/Sprite.h:3:49: error: variable ‘flappybird_frame_1’ must be const in order to be put into read-only section by means of ‘__attribute__((progmem))’
      static unsigned char PROGMEM flappybird_frame_1[] = { 0x03, 0xF0, 0x0C, 0x48, 0x10, 0x84, 0x78, 0x8A, 0x84, 0x8A, 0x82, 0x42, 0x82, 0x3E, 0x44, 0x41,0x38, 0xBE, 0x20, 0x41, 0x18, 0x3E, 0x07, 0xC0 };
      ^
      In file included from sketch_oct27a.ino:7:0:
      C:\Program Files (x86)\Arduino\libraries\flappybirdARDUINOM.ORG/Sprite.h:4:49: error: variable ‘flappybird_frame_2’ must be const in order to be put into read-only section by means of ‘__attribute__((progmem))’
      static unsigned char PROGMEM flappybird_frame_2[] = { 0x03, 0xF0, 0x0C, 0x48, 0x10, 0x84, 0x20, 0x8A, 0x40, 0x8A, 0x40, 0x42, 0x7C, 0x3E, 0x82, 0x41, 0x84, 0xBE, 0x88, 0x41, 0x78, 0x3E, 0x07, 0xC0 };
      ^
      C:\Program Files (x86)\Arduino\libraries\flappybirdARDUINOM.ORG/Sprite.h:5:41: error: variable ‘bar_bottom’ must be const in order to be put into read-only section by means of ‘__attribute__((progmem))’
      static unsigned char PROGMEM bar_bottom[] = { 0xFF, 0xFF, 0xFF, 0x42, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E };
      ^
      C:\Program Files (x86)\Arduino\libraries\flappybirdARDUINOM.ORG/Sprite.h:6:38: error: variable ‘bar_top’ must be const in order to be put into read-only section by means of ‘__attribute__((progmem))’
      static unsigned char PROGMEM bar_top[] = { 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x42, 0xFF, 0xFF, 0xFF };
      ^
      Derleme sırasında hata oluştu.

      Rapor daha fazla veri içermeli
      “Derleme sırasında ayrıntılı çıktı göster”
      Dosya > Tercihler’de etkinleştirilmiş.

      Cevapla
      • Yağız Baran Kaplan 30 Ekim 2015 20:37

        bi bakın artık yapmak istiyorum

        Cevapla
  3. Yağız Baran Kaplan 26 Ekim 2015 20:39

    Abi Ben Bu Hatayı Alıyorum Bi Yardımcı Olur Musun

    Arduino:1.6.5 (Windows 7), Kart:”Arduino/Genuino Uno”

    sketch_oct26a.ino:2:26: fatal error: Adafruit_GFX.h: No such file or directory
    compilation terminated.
    Derleme sırasında hata oluştu.

    Rapor daha fazla veri içermeli
    “Derleme sırasında ayrıntılı çıktı göster”
    Dosya > Tercihler’de etkinleştirilmiş.

    Cevapla
  4. MyTechno56 23 Eylül 2015 19:36

    İndiremiyoruz dosyayı?

    Cevapla
    • admin 23 Eylül 2015 21:21

      Şuanda indirebilirsiniz .

      Cevapla
  5. admin 19 Eylül 2015 14:49

    Arduinonuz ile mutluluklar dilerim :)) Hoş geldiniz arduino ailemize .

    Bu proje hakikaten benimde çok hoşuma gidiyor . Bazı kullanıcılar bunu arduino ile gerçekleştirdiler(ama arduino boardu kullanmadan sadece atmega328 ile ) bu projeyi bu şekilde gören kim olursa olsun sen aşmışsın arkadaş demeden kendini alamaz emin olabilirsin . Yorumunda sanal olarak verirmisiniz demişsiniz . yukarıda bir bağlantı şekli var bunu gerçekleştirken sıkıntı yaşarsan yardımcı olmak isteriz . vesselam .

    Yorumun için TEŞEKKÜRLER

    Cevapla
  6. Yiğit 19 Eylül 2015 13:19

    Merhabalar projenize gerçekten hayran kaldım ben arduionomu daha dün aldım bu projeyi breadboarda bağlanmış şeklini pcden sanal olarak verirmisiniz çok yardımcı olur

    Cevapla

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.