Game variable is now checked on button press rather than on while loop. This is to allow for removing of points (not implemented yet) after a winner is decided.

This commit is contained in:
2026-02-19 14:11:58 -05:00
parent 64776b3b43
commit 9eae0f68ce

View File

@@ -86,41 +86,49 @@ void setup() {
void loop() { void loop() {
while (game == true) { while (true) {
while (digitalRead(B1_IN) == 1 && digitalRead(B2_IN) == 1) { while (digitalRead(B1_IN) == 1 && digitalRead(B2_IN) == 1) {
} }
if (digitalRead(B1_IN) == 0) { if (digitalRead(B1_IN) == 0) {
while (digitalRead(B1_IN) == 0) {} // Only execute add point on button release while (digitalRead(B1_IN) == 0) {
scored(score, 0);
if (checkWin(score, 0) == 0) { } // Only execute add point on button release. Point removal if other button is pressed during while loop.
displayOut[2] = servingChar; if (game == true) {
game = false; scored(score, 0);
if (checkWin(score, 0) == 0) {
displayOut[2] = servingChar;
game = false;
}
else {
displayOut[2] = setServeChar(servingChar, score, serving);
delay(500); // to avoid calling twice
}
setDisplay(score, &matrix, displayOut);
} }
else {
displayOut[2] = setServeChar(servingChar, score, serving);
delay(500); // to avoid calling twice
}
setDisplay(score, &matrix, displayOut);
} }
if (digitalRead(B2_IN) == 0) { if (digitalRead(B2_IN) == 0) {
while (digitalRead(B2_IN) == 0) {} // Only execute add point on button release while (digitalRead(B2_IN) == 0) {
scored(score, 1);
if (checkWin(score, 1) == 0) {
displayOut[2] = servingChar;
game = false;
}
else {
displayOut[2] = setServeChar(servingChar, score, serving);
delay(500); // to avoid calling twice
}
setDisplay(score, &matrix, displayOut);
} // Only execute add point on button release. Point removal if other button is pressed during while loop.
if (game == true) {
scored(score, 1);
if (checkWin(score, 1) == 0) {
displayOut[2] = servingChar;
game = false;
}
else {
displayOut[2] = setServeChar(servingChar, score, serving);
delay(500); // to avoid calling twice
}
setDisplay(score, &matrix, displayOut);
}
} }
} }
setup();
} }
// put function definitions here: // put function definitions here: