yilmazyurdakul
Published

Another Buzz Wire Game!

Old fashion game with more electronics

IntermediateProtip640
Another Buzz Wire Game!

Things used in this project

Story

Read more

Code

Arduino IDE Codes

Arduino
#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);
    }
  }

}

Credits

yilmazyurdakul
9 projects • 27 followers

Comments