From c596dc20c34eb916e4863cc4807ef4bb7f6b858b Mon Sep 17 00:00:00 2001 From: maxgrf Date: Thu, 6 Nov 2025 10:57:18 +0100 Subject: [PATCH] discovery of logic mistake in overlap --- Start_Windows/game.c | 14 +++++++------- Start_Windows/game.o | Bin 2852 -> 5020 bytes 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Start_Windows/game.c b/Start_Windows/game.c index 307b6cb..855855f 100644 --- a/Start_Windows/game.c +++ b/Start_Windows/game.c @@ -15,14 +15,13 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi { srand(time(NULL)); - //1. Schritt: Alle Felder mit 0 befüllen - int size_word; int placedWords = 0; unsigned int succesfully_placed = 0; unsigned int tries = 0; unsigned int check_direction = 0, check_overlap = 0; int zeile = 0, spalte = 0, len = 0; + //1. Schritt: Alle Felder mit 0 befüllen for(int m = 0; m < searchFieldLen; m++) //m Zeilen { for(int n = 0; n < searchFieldLen; n++) //n Spalte @@ -39,7 +38,7 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi if (len < searchFieldLen) return -1; //ERROR, falls Wort größer als Größe des Feldes (unnötig, da bei worteingabe bereits überprüft) - while(succesfully_placed == 0 && tries < MAX_RAND_TRIES_PER_WORD) + while(tries < MAX_RAND_TRIES_PER_WORD) { // zufällige Richtung auswählen int direction = rand() % 2; // 0 = VERTIKAL, 1 = HORIZONTAL @@ -54,12 +53,12 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi if (direction == 1) // 1 = HORIZONTAL -> Zeile egal { - int zeile = rand() % (searchFieldLen); - int spalte = rand() % (searchFieldLen - len); + zeile = rand() % (searchFieldLen); + spalte = rand() % (searchFieldLen - len); check_direction = 1; } - //Prüfen auf Überlappung + //Prüfen auf Überlappung ----------> Logikfehler for(int i_overlap = 0; i_overlap < len; i_overlap++) { if (direction == 0) // 0 = VERTIKAL @@ -73,11 +72,12 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi check_overlap = 1; } if(check_overlap == 0) + tries++; break; } //3. Schritt: Wort in Wortsalat schreiben - if(check_direction == 1 && check_overlap == 1) + if(check_direction == 1 && check_overlap == 1 && tries < MAX_RAND_TRIES_PER_WORD) { for(int i_set = 0; i_set < len; i_set++) { diff --git a/Start_Windows/game.o b/Start_Windows/game.o index 1db69c18910b5d181d0164dbf2d2771fd4d7c0e5..f68bea8a89ebc261d4a9992caef9445d50848599 100644 GIT binary patch literal 5020 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