#include <LiquidCrystal.h>
#define push 13
#define buzzer 14
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
uint8_t rex1[8]={0x07, 0x17, 0x16, 0x1F, 0x02, 0x02, 0x03, 0x00};
uint8_t rex2[8]={0x07, 0x17, 0x16, 0x1F, 0x08, 0x08, 0x08, 0x0C};
uint8_t cactus[8]={0x00, 0x14, 0x14, 0x15, 0x1F, 0x04, 0x04, 0x0E};
uint8_t ave[8]={0x00,0x08,0x1F,0x06,0x04,0x00,0x00,0x00};
void setup() {
// put your setup code here, to run once:
pinMode(push, INPUT_PULLUP);
pinMode(buzzer, OUTPUT);
lcd.begin(16, 2);
lcd.createChar(0, rex1);
lcd.createChar(1, rex2);
lcd.createChar(2, cactus);
lcd.createChar(3, ave);
lcd.home();
lcd.setCursor(3, 0);
lcd.print("T-Rex Game");
delay(2500);
}
void loop() {
// put your main code here, to run repeatedly:
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Push to Start");
while(digitalRead(push) == 1);
delay(100);
lcd.clear();
int cactus = 14;
int ave = 15;
while(1){
if(digitalRead(push) == 0){
lcd.setCursor(0, 1); //
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.write((byte) 0);
//if ( ave == 0){
//lcd.clear();
//lcd.setCursor(3,0);
//lcd.print("GAME OVER");
// }
lcd.setCursor(cactus, 1);
lcd.write((byte) 2);
delay(100);
lcd.setCursor(0, 0);
lcd.write((byte) 1);
lcd.setCursor(cactus, 1);
lcd.print(" ");
delay(100);
cactus -= 1;
if(cactus < 0){
cactus = 15; //para que avance el cactus
}
}else{
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(1, 0);
lcd.write((byte) 0);
lcd.setCursor(cactus, 1);
lcd.write((byte) 2);
delay(100);
lcd.setCursor(0, 1);
lcd.write((byte) 1);
lcd.setCursor(cactus, 1);
lcd.print(" ");
delay(100);
cactus -= 1;
ave -= 1;
if(cactus < 0){
cactus = 15; //para que avance el cactus
}
if(cactus == 0){
lcd.clear();
lcd.setCursor(3, 1);
lcd.write((byte) 3);
delay(500);
lcd.clear();
lcd.setCursor(3, 0);
lcd.print("GAME OVER");
tone(buzzer,100);
delay(200);
tone(buzzer, 0);
lcd.write(" ");
lcd.clear();
lcd.print(" Continue in 3");
lcd.setCursor(1,0);
delay(600);
lcd.print("Continue in 2");
lcd.setCursor(1,0);
delay(600);
lcd.print("Continue in 1");
lcd.setCursor(1,0);
delay(600);
break; //rompe el ciclo
}
}
}
}