-
Notifications
You must be signed in to change notification settings - Fork 1
/
Brickbreaker.ino
52 lines (48 loc) · 1.23 KB
/
Brickbreaker.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "headers.h"
unsigned long timeSinceRefresh; // measured in milliseconds
void setupPins() {
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BTN1, INPUT);
pinMode(BTN2, INPUT);
}
// init functions found in the hardware file
void init() {
wireInit();
deviceInit();
delay(100);
acceleroInit();
storageInit();
programInit();
}
void setup() {
setupPins();
init();
timeSinceRefresh = millis();
}
void loop() {
switch(gameMode) {
case MENU:
if(digitalRead(BTN1) == HIGH) {
newMode(STATS);
}
else if(digitalRead(BTN2) == HIGH) {
newMode(GAME);
}
break;
case GAME:
// check for motion changes in y axis
checkForMotion();
// draws on screen IF time passed has surpassed threshold (allows animation to be done without delay() function)
timeSinceRefresh = refreshScreen(timeSinceRefresh);
break;
case STATS:
if(digitalRead(BTN1) == HIGH) {
newMode(MENU);
}
else if(digitalRead(BTN2) == HIGH) {
resetStats();
}
break;
}
}