Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal.h>
- // initialize the library with the numbers of the interface pins
- LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
- int buttonState = 0;
- int playerY, objectX, score, timer, startTime;
- void clearChar(int x, int y) {
- lcd.setCursor(x, y);
- lcd.print(" ");
- }
- void movePlayer(int row=0) {
- if (row) {
- clearChar(0, 0);
- lcd.setCursor(0, 1);
- lcd.print("P");
- playerY = 1;
- return;
- }
- clearChar(0, 1);
- lcd.setCursor(0, 0);
- lcd.print("P");
- playerY = 0;
- }
- void moveObject() {
- clearChar(objectX, 1);
- objectX--;
- if (objectX<0){
- objectX=10;
- }
- lcd.setCursor(objectX, 1);
- lcd.print("<");
- }
- void printScore() {
- lcd.setCursor(5, 0);
- lcd.print("score: ");
- lcd.setCursor(13, 0);
- lcd.print(score);
- }
- void initGame() { // initialising game vars
- lcd.clear();
- score = 0;
- objectX=10;
- timer=0;
- startTime=0;
- movePlayer(1);
- moveObject();
- printScore();
- }
- void setup() {
- lcd.begin(16, 2);
- pinMode(7, INPUT);
- initGame();
- }
- void loop() {
- if (playerY==0 && timer > startTime + 3) {
- movePlayer(1);
- }
- moveObject();
- buttonState = digitalRead(7);
- if (buttonState==HIGH) {
- movePlayer();
- startTime = timer;
- }
- if (playerY && objectX==0) {
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("Score: ");
- lcd.setCursor(8, 0);
- lcd.print(score);
- lcd.setCursor(0, 1);
- lcd.print("press to start");
- while (digitalRead(7)!=HIGH) {
- delay(200);
- }
- initGame();
- return;
- }
- else if (objectX==0) {score++;}
- printScore();
- timer++;
- delay(100);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement