diff --git a/gra_21_morpion_lumineux_code.ino b/gra_21_morpion_lumineux_code.ino index 47d699b..910f7da 100644 --- a/gra_21_morpion_lumineux_code.ino +++ b/gra_21_morpion_lumineux_code.ino @@ -5,22 +5,6 @@ #include #include -#include -#include -#include -#include -#include - -Adafruit_SH1107 display = Adafruit_SH1107(64, 128, &Wire); -#define BUTTON_A 15 -#define BUTTON_B 32 - - -bool isMod = false; -bool isModJeu = false; -bool isDifficulty = false; -bool isPlay = false; -bool isWebSet = false; diff --git a/menu.h b/menu.h index b456c71..9e6b1b5 100644 --- a/menu.h +++ b/menu.h @@ -1,3 +1,7 @@ +#include +#include + + 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; } \ No newline at end of file diff --git a/web.h b/web.h index 6492e23..dda244a 100644 --- a/web.h +++ b/web.h @@ -1,6 +1,11 @@ +#include +#include +#include + const char *ssid = "morpion-SAE"; const char *password = "12345678"; NetworkServer server(80); +NetworkClient client = server.accept(); void setupWeb(){ Serial.println(); @@ -30,10 +35,159 @@ void setupWeb(){ +void webDuo(NetworkClient &c){ + c.println(""); + c.println(""); + c.println(""); + c.println(" "); + c.println(" "); + c.println(""); + c.println(""); + c.println("
"); + c.println(" "); + c.println("
"); + c.println("
"); + c.println("
"); + c.println("
1
"); + c.println("
2
"); + c.println("
3
"); + c.println("
"); + c.println("
"); + c.println("
4
"); + c.println("
5
"); + c.println("
6
"); + c.println("
"); + c.println("
"); + c.println("
7
"); + c.println("
8
"); + c.println("
9
"); + c.println("
"); + c.println("
"); + + c.println(" "); + c.println(""); + c.println(""); +} + + +void webSolo(NetworkClient &c){ + c.println(""); + c.println(""); + c.println(""); + c.println(""); + c.println(""); + + c.println(""); + c.println("
"); + c.println("Pas encore commence !"); + c.println("
"); + + c.println(""); + c.println(""); +} + + + void loopWeb(){ NetworkClient client = server.accept(); - if (client) { Serial.println("New Client."); String currentLine = ""; @@ -52,9 +206,9 @@ void loopWeb(){ // the content of the HTTP response follows the header: if(solo){ - webSolo(); + webSolo(client); }else{ - webDuo(); + webDuo(client); } client.println(); break; @@ -64,107 +218,9 @@ void loopWeb(){ } else if (c != '\r') { // if you got anything else but a carriage return character, currentLine += c; // add it to the end of the currentLine } - - if (currentLine.endsWith("GET /H")) { - //digitalWrite(LED_BUILTIN, HIGH); - } - if (currentLine.endsWith("GET /L")) { - //digitalWrite(LED_BUILTIN, LOW); - } } } client.stop(); Serial.println("Client Disconnected."); } -} - - - - - -void webDuo(){ - client.println(""); - client.println(""); - client.println(""); - client.println(""); - client.println(""); - client.println(""); - - client.println(""); - client.println("
"); - for (int i = 0; i < 9; i++) { - client.print("
"); - client.print(i + 1); - client.println("
"); - } - client.println("
"); - - client.println(""); - - client.println(""); - client.println(""); -} - - -void webSolo(){ - client.println(""); - client.println(""); - client.println(""); - client.println(""); - client.println(""); - - client.println(""); - client.println("
"); - client.println("Pas encore commence !") - client.println("
"); - - client.println(""); - client.println(""); } \ No newline at end of file