const int led1 = 2;
const int led2 = 4;
const int led3 = 6;
bool ButtS;
bool isButt;
int value;
int odp;
int count;
int limit = 3;
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(8, INPUT_PULLUP);
Serial.begin(9600);
}
void loop()
{
ButtS = digitalRead(8);
if(ButtS == LOW && isButt == 0)
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
value = analogRead(A0);
Serial.println("Podaj liczbe:");
Serial.print("Pozostałe próby: ");
Serial.println(limit);
isButt = 1;
}
if(Serial.available()>0 && isButt == 1)
{
delay(20);
odp = Serial.readStringUntil('\n').toInt();
if(abs(value - odp) <= 50 && count < limit)
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
isButt = 0;
Serial.println("Wygrałeś!!");
Serial.print("Tajemnicza liczba to: ");
Serial.println(value);
}
else if( abs(value - odp) > 50 && count < limit)
{
digitalWrite(led2, HIGH);
delay(500);
digitalWrite(led2, LOW);
count++;
if(count == limit)
{
Serial.println("Przegrałeś!");
Serial.print("Odpowiedzią była liczba: ");
Serial.println(value);
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
delay(300);
digitalWrite(led1, LOW);
delay(300);
digitalWrite(led1, HIGH);
count = 0;
isButt = 0;
}
else
{
Serial.print("Pozostałe próby: ");
Serial.println(3 - count);
delay(20);
}
}
}
else if (Serial.available()>0 && isButt == 0)
{
value = analogRead(A0);
Serial.write(0);
Serial.println("Zaczekaj!");
delay(1000);
for(int liczba = 5; liczba > 0; liczba--)
{
Serial.print("Gra zacznie się za: ");
Serial.println(liczba);
delay(1000);
}
isButt = 1;
count -= 1;
Serial.println("Podaj liczbe:");
}
}