diff --git a/src/main.cpp b/src/main.cpp index 7be4707..62d0e34 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -8,6 +8,75 @@ // ----------------------------------------------------------- int main() { + // ===================================================================== + // 1) KLEINES MENÜFENSTER + // ===================================================================== + + InitWindow(400, 200, "Wuerfelspiel - Menu"); + SetTargetFPS(60); + + char input[4] = ""; + int len = 0; + int numberOfCubes = 0; + bool error = false; + + while (!WindowShouldClose()) + { + int key = GetCharPressed(); + + // Zahlen erfassen + if (key >= '0' && key <= '9' && len < 3) + { + input[len++] = (char)key; + input[len] = '\0'; + } + + // Backspace + if (IsKeyPressed(KEY_BACKSPACE) && len > 0) + input[--len] = '\0'; + + // ENTER = übernehmen + if (IsKeyPressed(KEY_ENTER)) + { + numberOfCubes = atoi(input); + + if (numberOfCubes > 0 && numberOfCubes % 2 == 0) + break; // gültig → Menü beenden + else + error = true; + } + + // Zeichnen des Menüs + BeginDrawing(); + ClearBackground(RAYWHITE); + + DrawText("Anzahl der Wuerfel (gerade Zahl):", 30, 40, 20, DARKGRAY); + + DrawRectangle(30, 80, 200, 40, LIGHTGRAY); + DrawText(input, 40, 90, 20, BLACK); + + if (error) + DrawText("Ungueltige Eingabe!", 30, 140, 20, RED); + + EndDrawing(); + } + + CloseWindow(); // Menüfenster schließen + + + + + + + + // ===================================================================== + // 2) HAUPTSPIELFENSTER + // ===================================================================== + + // Fenster und Kamera + InitWindow(800, 600, "3D Memory Game with Matrix3D Library"); + SetTargetFPS(60); + // Anzahl Spielzüge -> wie oft wurde ein Wuerfel geklickt int turnCount = 0; @@ -17,16 +86,12 @@ int main() // gespielte Zeit int playTime = 0; - // anzahl an wuerfeln -> immer gerade anzahl und groeßer null - int numberOfCubes = 12; + // anzahl an wuerfeln -> immer gerade anzahl und groeßer null -> jetzt nutzlos, weil menu window + //int numberOfCubes = 12; // Zufall initialisieren srand(time(NULL)); - // Fenster und Kamera - InitWindow(800, 600, "3D Memory Game with Matrix3D Library"); - SetTargetFPS(60); - Camera3D camera{}; //camera.position = {6.0f, 6.0f, 6.0f}; // changed camera position to show all cubes if number very high camera.position = {12.0f, 9.0f, 12.0f}; @@ -51,9 +116,9 @@ int main() float posi_x = 0; float posi_z = 0; - for (int i = 0; i < rows; i++) + for (int i = 0; i < columns; i++) { - for (int j = 0; j < columns; j++) + for (int j = 0; j < rows; j++) { positions.push_back({posi_x, 0, posi_z}); posi_z += 2;