#include <LiquidCrystal.h>
#include <EEPROM.h>
int score = 0;
int highscore = 0;
long rnum;
long bud = millis() + 250;
long paus = millis() + 150;
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
void setup() {
lcd.begin(16, 2);
EEPROM.begin();
score = EEPROM.read(100);
EEPROM.write(100, score);
lcd.setCursor(0,1);
lcd.print(EEPROM.get(100,score));
pinMode(2, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), scored, FALLING);
}
void loop() {
lcd.setCursor(0,0);
rnum = random(1, 10);
if(millis() >= bud )
{
lcd.print(rnum);
bud = millis()+250;
};
if(millis() >= paus)
{
lcd.setCursor(0,0);
lcd.print(" ");
paus = millis() + 150;
};
}
void scored() {
if(rnum == 1 || rnum == 5 || rnum == 10 && digitalRead(2) == HIGH)
{
score++;
EEPROM.put(100, score);
lcd.setCursor(0,1);
lcd.print(" ");
EEPROM.put(100, score);
lcd.print(EEPROM.get(100,score));
}
if(rnum == 0 ||
rnum == 2 ||
rnum == 3 ||
rnum == 4 ||
rnum == 6 ||
rnum == 7 ||
rnum == 8 ||
rnum == 9 && digitalRead(2) == HIGH)
{
score--;
EEPROM.put(100, score);
lcd.setCursor(0,1);
lcd.print(" ");
EEPROM.put(100, score);
lcd.print(EEPROM.get(100,score));
};
/*
if(score > highscore){
highscore = score;
EEPROM.put(100, score);
}
*/
}