#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 6, d5 = 5, d6 = 4, d7 = 3;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int t;
int told;
int hak = 3;
bool flag1 = false;
unsigned long eskiZaman;
void setup() {
lcd.begin(16, 2);
lcd.print("Istek Bilim!");
lcd.setCursor(0, 1);
lcd.print("Tel Oyunu");
delay(1000);
lcd.clear();
pinMode(2, INPUT_PULLUP);
}
void loop() {
zaman();
puanKontrol();
if (flag1 == false) {
lcd.setCursor(0, 0);
lcd.print("Istek Bilim! ");
for (int x = 0; x < 16; x++) {
lcd.setCursor(x, 1);
lcd.print(">");
delay(70);
if (digitalRead(2) == LOW) {
break;
}
}
for (int x = 0; x < 16; x++) {
lcd.setCursor(x, 1);
lcd.print(" ");
delay(70);
if (digitalRead(2) == LOW) {
break;
}
}
if (digitalRead(2) == LOW) {
flag1 = true;
lcd.clear();
eskiZaman = (millis() / 1000);
hak = 3;
for (int i = 0; i < 16; i++) {
tone(9, 50 * i, 525);
delay(25);
noTone(9);
}
}
} else {
if (t > 0 && hak > 0) {
lcd.setCursor(0, 1);
lcd.print("Kalan Hak:");
lcd.setCursor(11, 1);
lcd.print(hak);
lcd.setCursor(0, 0);
lcd.print("Kalan Sure:");
lcd.setCursor(12, 0);
lcd.print(t);
if (t != told) {
lcd.clear();
told = t;
}
if (t < 5) {
tone(9, 880 / t, 200);
}
} else {
if (t > 0) {
lcd.setCursor(0, 0);
lcd.print("Hakkin Kalmadi");
lcd.setCursor(0, 1);
lcd.print("Tekrar Dene...");
for (int i = 4; i > 0; i--) {
tone(9, 50 * i, 200);
delay(200);
noTone(9);
}
delay(5000);
flag1 = false;
} else {
lcd.setCursor(0, 0);
lcd.print("Zaman Doldu...");
lcd.setCursor(0, 1);
lcd.print("Tekrar Dene...");
for (int i = 4; i > 0; i--) {
tone(9, 50 * i, 200);
delay(200);
noTone(9);
}
delay(5000);
flag1 = false;
}
}
}
}
void zaman() {
t = (eskiZaman + 30) - (millis() / 1000);
}
void puanKontrol() {
if (digitalRead(2) == LOW) {
hak--;
if (hak > 0) {
tone(9, 600 / hak, 500);
delay(500);
noTone(9);
}
}
}
Comments