#include <LiquidCrystal_I2C.h>
#define button_0 0
#define button_1 1
LiquidCrystal_I2C lcd(0x27, 16, 2);
int player_height = 1;
int speed = 1;
int time_counter = 0;
byte player[8] = {
0b00100,
0b01010,
0b00100,
0b01010,
0b11011,
0b00100,
0b01010,
0b10001
};
byte obstacle_0[8] = {
0b00000,
0b00100,
0b01110,
0b11011,
0b11011,
0b01110,
0b00100,
0b00000
};
void setup() {
Serial.begin(115200);
setup_LCD();
pinMode(button_0, INPUT);
pinMode(button_1, INPUT);
}
void loop(){
update_player();
time_counter++;
delay(speed*10);
if(time_counter == 100) {
lcd.setCursor(14, 0);
lcd.write(byte(1));
time_counter = 0;
}
Serial.println(time_counter);
}
void setup_LCD() {
lcd.init();
lcd.backlight();
lcd.clear();
lcd.home();
lcd.createChar(0, player);
lcd.createChar(1, obstacle_0);
}
void update_player() {
if (!digitalRead(button_0) && !digitalRead(button_1)) {
player_height = player_height;
}
else if (!digitalRead(button_0)) {
player_height = 0;
}
else if (!digitalRead(button_1)) {
player_height = 1;
}
lcd.clear();
lcd.setCursor(0, player_height);
lcd.write(byte(0));
}