nach test2 korrigiert game.c

This commit is contained in:
roesselid103915 committed 2026-10-26 09:15:19 +01:00
1 parent 69d0c0ee4d
commit d2357c9040
1 file changed
+15 -13
+15 -13
View File
@@ -30,28 +30,29 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi
int ROWS = 0; int ROWS = 0;
int COLS = 0; int COLS = 0;
for (int r=0; r < ROWS; r++) { for (unsigned int r=0; r < searchFieldLen; r++) {
for (int c =0; c < COLS; c++) { for (int c =0; c <searchFieldLen; c++) {
salad[r][c] = '.'; salad[r][c] = EMPTY_CHAR;
} }
} }
int tries = 0;
//Wörter plazieren //Wörter plazieren
for (unsigned int w = 0; w< wordCount; w++) { for (unsigned int w = 0; w< wordCount; w++) {
int wordLen = strlen(words[w]); int wordLen = strlen(words[w]);
int placed = 0; int placed = 0;
int tries = 0;
while (!placed && tries < MAX_RAND_TRIES_PER_WORD) { while (!placed && tries < MAX_RAND_TRIES_PER_WORD) {
int direction = rand() % 2; int direction = rand() % 2;
int row; int row;
int col; int col;
int fits = 1; int fits = 1;
if (direction == 0) { if (direction == 0) {
row = rand() % ROWS; row = rand() % searchFieldLen;
col = rand() % (COLS - wordLen +1); col = rand() % (searchFieldLen - wordLen +1);
for (int i = 0; i< wordLen; i++) { for (int i = 0; i< wordLen; i++) {
if (salad[row][col +i] != '.') { if (salad[row][col +i] != EMPTY_CHAR) {
fits = 0; fits = 0;
break;
} }
} }
if (fits) { if (fits) {
@@ -62,11 +63,12 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi
} }
} }
else { else {
row = rand() % (ROWS - wordLen +1); row = rand() % (searchFieldLen - wordLen +1);
col = rand() % COLS; col = rand() % searchFieldLen;
for (int i = 0; i< wordLen; i++) { for (int i = 0; i< wordLen; i++) {
if (salad[row+i][col] != '.') { if (salad[row+i][col] != EMPTY_CHAR) {
fits = 0; fits = 0;
break;
} }
} }
if (fits) { if (fits) {
@@ -80,9 +82,9 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi
} }
} }
//Rest mit Zufallsbustaben füllen //Rest mit Zufallsbustaben füllen
for (int r=0; r < ROWS; r++) { for (unsigned int r=0; r < searchFieldLen; r++) {
for (int c=0; c < COLS; c++) { for (int c=0; c < searchFieldLen; c++) {
if (salad[r][c] == '.') { if (salad[r][c] == EMPTY_CHAR) {
salad[r][c]='A' + rand() % 26; salad[r][c]='A' + rand() % 26;
} }
} }