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.
Bu resimlerde de bu fakirin projenin çalışıp çalışmadığı için gerçekleştirdiği resimler.
Projemizde bir kaç tane kütüphane kullanılmaktadır bu kütüphaneler yazının altına iliştirilmiştir
EK-1
EK-2
İKİ EKİDE İNDİRMELİSİNİZ ARKADAŞLAR.
ALINTIDIR..
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.
Bu resimlerde de bu fakirin projenin çalışıp çalışmadığı için gerçekleştirdiği resimler.
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();
}
EK-2
İKİ EKİDE İNDİRMELİSİNİZ ARKADAŞLAR.
ALINTIDIR..