// For Discord channel
// Sketch by IRE
// 14 April 2024
//
// Possible improvements:
//   add a "buzzerPin"
//   rename the "er" and "nu" variables to something meaningful
//   maybe a switch-case.

int buttonPin = 7;
int ledPin = 12;
int er = 1;
int nu = 1;
int buttonState = 0;

void setup() 
{
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
}

void loop() 
{
  buttonState = digitalRead(buttonPin);

  if (buttonState == LOW) 
  {
    er = 1;
  } 
  else 
  {
    if (er == 1) 
    {
      er = 2;

      nu += 1;
      if (nu > 20) 
      {
        nu = 1;
      }
    }
    if (nu == 1) 
    {
      tone(3, 554.37, 100);
      delay(100);
    }
    if (nu == 2) 
    {
      tone(3, 493.88, 100);
      delay(100);
    }
    if (nu == 3) 
    {
      tone(3, 440, 100);
      delay(100);
    }
    if (nu == 4) 
    {
      tone(3, 369.99, 100);
      delay(100);
    }
    if (nu == 5) 
    {
      tone(3, 392, 100);
      delay(100);
    }
    if (nu == 6) 
    {
      tone(3, 440, 100);
      delay(100);
    }
    if (nu == 7) 
    {
      tone(3, 554.37, 100);
      delay(100);
    }
    if (nu == 8) 
    {
      tone(3, 493.88, 50);
      delay(50);
      tone(3, 440, 50);
      delay(50);
    }
    if (nu == 9) 
    {
      tone(3, 440, 100);
      delay(100);
    }
    if (nu == 10) 
    {
      tone(3, 220, 100);
      delay(100);
    }
    if (nu == 11) 
    {
      tone(3, 261.63, 100);
      delay(100);
    }
    if (nu == 12) 
    {
      tone(3, 329.63, 100);
      delay(100);
    }
    if (nu == 13) 
    {
      tone(3, 329.63, 100);
      delay(100);
    }
    if (nu == 14) 
    {
      tone(3, 261.63, 100);
      delay(100);
    }
    if (nu == 15) 
    {
      tone(3, 220, 100);
      delay(100);
    }
    if (nu == 16) 
    {
      tone(3, 220, 100);
      delay(100);
    }
    if (nu == 17) 
    {
      tone(3, 261.63, 100);
      delay(100);
    }
    if (nu == 18) 
    {
      tone(3, 277.18, 100);
      delay(100);
    }
    if (nu == 19) 
    {
      tone(3, 246.94, 100);
      delay(100);
    }
    if (nu == 20) 
    {
      tone(3, 220, 100);
      delay(100);
    }
  }
}