Advertisement
dark-Matter

dhv-q3

Apr 10th, 2021
858
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.62 KB | None | 0 0
  1. #include <LiquidCrystal.h>
  2.  
  3. // initialize the library with the numbers of the interface pins
  4. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  5. int buttonState = 0;
  6.  
  7. int playerY, objectX, score, timer, startTime;
  8.  
  9. void clearChar(int x, int y) {
  10.   lcd.setCursor(x, y);
  11.   lcd.print(" ");
  12. }
  13.  
  14. void movePlayer(int row=0) {
  15.   if (row) {
  16.     clearChar(0, 0);
  17.     lcd.setCursor(0, 1);
  18.     lcd.print("P");
  19.     playerY = 1;
  20.     return;
  21.   }
  22.   clearChar(0, 1);
  23.   lcd.setCursor(0, 0);
  24.   lcd.print("P");
  25.   playerY = 0;
  26. }
  27.  
  28. void moveObject() {
  29.   clearChar(objectX, 1);
  30.   objectX--;
  31.   if (objectX<0){
  32.     objectX=10;
  33.   }
  34.   lcd.setCursor(objectX, 1);
  35.   lcd.print("<");
  36. }
  37.  
  38. void printScore() {
  39.   lcd.setCursor(5, 0);
  40.   lcd.print("score: ");
  41.   lcd.setCursor(13, 0);
  42.   lcd.print(score);
  43. }
  44.  
  45. void initGame() { // initialising game vars
  46.   lcd.clear();
  47.   score = 0;
  48.   objectX=10;
  49.   timer=0;
  50.   startTime=0;
  51.   movePlayer(1);
  52.   moveObject();
  53.   printScore();
  54. }
  55.  
  56. void setup() {
  57.   lcd.begin(16, 2);
  58.   pinMode(7, INPUT);
  59.   initGame();
  60. }
  61.  
  62. void loop() {
  63.   if (playerY==0 && timer > startTime + 3) {
  64.     movePlayer(1);
  65.   }
  66.   moveObject();
  67.   buttonState = digitalRead(7);
  68.   if (buttonState==HIGH) {
  69.     movePlayer();
  70.    startTime = timer;
  71.   }
  72.   if (playerY && objectX==0) {
  73.     lcd.clear();
  74.     lcd.setCursor(0, 0);
  75.     lcd.print("Score: ");
  76.     lcd.setCursor(8, 0);
  77.     lcd.print(score);
  78.     lcd.setCursor(0, 1);
  79.     lcd.print("press to start");
  80.     while (digitalRead(7)!=HIGH) {
  81.       delay(200);
  82.     }
  83.     initGame();
  84.     return;
  85.   }
  86.   else if (objectX==0) {score++;}
  87.   printScore();
  88.   timer++;
  89.   delay(100);
  90. }
  91.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement