From 5ba959d73b860fa6e120fa6948509a953fc58829 Mon Sep 17 00:00:00 2001 From: Ben Skuppin Date: Wed, 5 Nov 2025 16:59:29 +0100 Subject: [PATCH 1/2] finale version 1 --- Start_Windows/game.c | 40 +++++++++++++++++++++++++++++++++++++++- Start_Windows/main.c | 7 +++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/Start_Windows/game.c b/Start_Windows/game.c index db9cdcc..1466c17 100644 --- a/Start_Windows/game.c +++ b/Start_Windows/game.c @@ -13,6 +13,13 @@ // Creates the word salad by placing words randomly and filling empty spaces int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsigned int searchFieldLen, const char words[][MAX_WORD_LEN], unsigned int wordCount) { + int saladclone[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN]; + int wordsplacedcounter=0; + for (int i=0;i searchFieldLen) //erst wird überprüft, ob das Wort überlappt continue; + + for (int i=0;i < wordLen; i++) { + if (saladclone[row][col + i]==1) { + check=1; + } + } + if (check == 1) continue; + + printf("Wort: %d,%d \n", row,col); + for (int i = 0;i < wordLen; i++) { //Wort wird in Spalte geschrieben salad[row][col + i] = word[i]; + + saladclone[row][col + i] = 1; } wordPlaced = 1; + wordsplacedcounter++; + } else { if (row + wordLen > searchFieldLen) //erst wird überprüft, ob das Wort überlappt continue; + + for (int i=0;i < wordLen; i++) { + if (saladclone[row+i][col]==1) { + check=1; + } + } + if (check == 1) continue; + + printf("Wort: %d,%d \n", row,col); + for (int i = 0;i < wordLen; i++) { //Wort wird in Zeile geschrieben salad[row + i][col] = word[i]; + + saladclone[row+i][col] = 1; } wordPlaced = 1; + wordsplacedcounter++; } } } - return 0; + return wordsplacedcounter; } // Prints the word salad to console diff --git a/Start_Windows/main.c b/Start_Windows/main.c index 03da755..15760f3 100644 --- a/Start_Windows/main.c +++ b/Start_Windows/main.c @@ -35,6 +35,13 @@ int main(int argc, char *argv[]) // Create the word salad by placing words into grid placedWords = createWordSalad(wordSalad, SALAD_SIZE, words, wordCount); + if (placedWords == wordCount) { + showWordSalad(wordSalad, SALAD_SIZE); + startGame(wordSalad,SALAD_SIZE,words,wordCount,1000); + + }else { + printf("fehler"); + } // TODO: // Check if all words were successfully placed From 26c403ebf78102e4868537ea67aafb669c019261 Mon Sep 17 00:00:00 2001 From: Ben Skuppin Date: Thu, 6 Nov 2025 14:16:55 +0100 Subject: [PATCH 2/2] finale version 2 --- Start_Windows/game.c | 2 +- Start_Windows/main.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Start_Windows/game.c b/Start_Windows/game.c index 1466c17..3024a9f 100644 --- a/Start_Windows/game.c +++ b/Start_Windows/game.c @@ -3,7 +3,7 @@ #include #include -#define MAX_RAND_TRIES_PER_WORD 10 +#define MAX_RAND_TRIES_PER_WORD 20 #define EMPTY_CHAR 0 //TODO: Spiellogik implementieren: diff --git a/Start_Windows/main.c b/Start_Windows/main.c index 15760f3..3260607 100644 --- a/Start_Windows/main.c +++ b/Start_Windows/main.c @@ -40,7 +40,8 @@ int main(int argc, char *argv[]) startGame(wordSalad,SALAD_SIZE,words,wordCount,1000); }else { - printf("fehler"); + printf("Es konnten nur %d Woerter plaziert werden.\n", placedWords); + printf("-> Programm abgebrochen!!!"); } // TODO: