Hoşgeldin Ziyaretçi

Kayıt Olarak Tüm Eklentileri Ücretsiz İndirebilirsin.

Şimdi kayıt ol

Rehber Arduino İle Flappy Bird Yapımı

Mithat Guner

Yönetici
Admin
Lider
1,415
1 Ekim 2016
1,298
#1
Arkadaşlar geçen yıllarda ç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.






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


Kod:
#include <SPI.h>


#include <Adafruit_GFX.h>

#include <Adafruit_PCD8544.h>

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;

 

**** loop(){}

 

**** resetGame() {

  player.respawn();

  bar.setPos(0, 20);

  bar2.setPos(50, 30);

  gameScore = 0;

}

 

**** 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();

  }

}

 

**** getInput() {

  int knock = digitalRead(KNOCK_PIN);

  if (knock == 0) { // push down

  clicked = true;

  }

  else {

  clicked = false;

  }

}

 

**** 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();

}

Eki İndirmek İçin Tıkla
 
İçerik sağlayıcı paylaşım sitelerinden biri olan Pluginler.com Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Pluginler.com hakkında yapılacak tüm hukuksal Şikayetler buradan iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde Pluginler.com yönetimi olarak tarafımızdan gereken işlemler yapılacak ve yönetimimiz size geri dönüş yapacaktır.
Üst Alt