From 69d0c0ee4d4ba473f861b7a60c6624840c2cb59a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ida=20R=C3=B6ssel?= Date: Mon, 26 Oct 2026 09:09:13 +0100 Subject: [PATCH] nach tests korrigiert game.c --- Wordsalad/game.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/Wordsalad/game.c b/Wordsalad/game.c index e1160a2..a5d3f42 100644 --- a/Wordsalad/game.c +++ b/Wordsalad/game.c @@ -29,19 +29,19 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi srand(time(NULL)); int ROWS = 0; int COLS = 0; - char grid [ROWS][COLS]; for (int r=0; r < ROWS; r++) { for (int c =0; c < COLS; c++) { - grid[r][c] = '.'; + salad[r][c] = '.'; } } + int tries = 0; //Wörter plazieren for (unsigned int w = 0; w< wordCount; w++) { int wordLen = strlen(words[w]); int placed = 0; - while (!placed) { + while (!placed && tries < MAX_RAND_TRIES_PER_WORD) { int direction = rand() % 2; int row; int col; @@ -50,13 +50,13 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi row = rand() % ROWS; col = rand() % (COLS - wordLen +1); for (int i = 0; i< wordLen; i++) { - if (grid[row][col +i] != '.') { + if (salad[row][col +i] != '.') { fits = 0; } } if (fits) { for (int i=0; i < wordLen; i++) { - grid[row][col +i] = words[w][i]; + salad[row][col +i] = words[w][i]; } placed = 1; } @@ -65,29 +65,27 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi row = rand() % (ROWS - wordLen +1); col = rand() % COLS; for (int i = 0; i< wordLen; i++) { - if (grid[row+i][col] != '.') { + if (salad[row+i][col] != '.') { fits = 0; } } if (fits) { for (int i = 0; i