add of start again button on duo (web)

This commit is contained in:
UNIV-LYON1\p2405212
2025-06-16 15:20:41 +02:00
parent 253ec77732
commit 0339690891
3 changed files with 202 additions and 143 deletions
+45 -26
View File
@@ -1,3 +1,7 @@
#include <Adafruit_GFX.h>
#include <Adafruit_SH110X.h>
bool local = true;
bool solo = true;
int difficulty = 1;
@@ -7,6 +11,16 @@ uint8_t btnPrevB;
uint8_t btnA;
uint8_t btnB;
bool isMod = false;
bool isModJeu = false;
bool isDifficulty = false;
bool isPlay = false;
bool isWebSet = false;
#define BUTTON_A 15
#define BUTTON_B 32
Adafruit_SH1107 display = Adafruit_SH1107(64, 128, &Wire);
unsigned long lastDebounceTimeA = 0;
unsigned long lastDebounceTimeB = 0;
const unsigned long debounceDelay = 200; // délai de rebond (200 ms)
@@ -36,17 +50,7 @@ void setupMenu() {
void menu() {
if (!isMod) {
choixMode();
} else if (!isModJeu) {
choixModeJeu();
} else if (solo && !isDifficulty) {
choixDifficulty();
} else {
isPlay = true; // mode duo sans choix difficulté
}
}
@@ -81,27 +85,26 @@ void choixDifficulty() {
}
void readButton(){
btnA = digitalRead(BUTTON_A);
if (btnA == LOW && btnPrevA == HIGH && (millis() - lastDebounceTimeA > debounceDelay)) {
lastDebounceTimeA = millis();
handleButtonA();
void menu() {
if (!isMod) {
choixMode();
} else if (!isModJeu) {
choixModeJeu();
} else if (solo && !isDifficulty) {
choixDifficulty();
} else {
isPlay = true; // mode duo sans choix difficulté
}
btnPrevA = btnA;
btnB = digitalRead(BUTTON_B);
if (btnB == LOW && btnPrevB == HIGH && (millis() - lastDebounceTimeB > debounceDelay)) {
lastDebounceTimeB = millis();
handleButtonB();
}
btnPrevB = btnB;
}
void handleButtonA() {
if (!isMod) {
local = true;
@@ -128,4 +131,20 @@ void handleButtonB() {
isDifficulty = true;
isPlay = true;
}
}
void readButton(){
btnA = digitalRead(BUTTON_A);
if (btnA == LOW && btnPrevA == HIGH && (millis() - lastDebounceTimeA > debounceDelay)) {
lastDebounceTimeA = millis();
handleButtonA();
}
btnPrevA = btnA;
btnB = digitalRead(BUTTON_B);
if (btnB == LOW && btnPrevB == HIGH && (millis() - lastDebounceTimeB > debounceDelay)) {
lastDebounceTimeB = millis();
handleButtonB();
}
btnPrevB = btnB;
}