#include "game.h" #include "input.h" #include #include #include #define MAX_RAND_TRIES_PER_WORD 10 #define EMPTY_CHAR 0 //TODO: Spiellogik implementieren: /* * Wörter aus der Wortliste zufällig horizontal oder vertikal platzieren * restliche Felder mit zufälligen Buchstaben füllen */ // 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 placedWords = 0; srand(time(NULL)); for (unsigned int r=0; r < searchFieldLen; r++) { for (unsigned int c =0; c searchFieldLen) { continue; } int tries = 0; int placed = 0; while (!placed && tries < MAX_RAND_TRIES_PER_WORD) { int direction = rand() % 2; int row; int col; int fits = 1; if (direction == 0) { row = rand() % searchFieldLen; col = rand() % (searchFieldLen - wordLen +1); for (int i = 0; i< wordLen; i++) { if (salad[row][col +i] != EMPTY_CHAR) { fits = 0; break; } } if (fits) { for (int i=0; i < wordLen; i++) { salad[row][col +i] = words[w][i]; } placed = 1; placedWords++; } } else { row = rand() % (searchFieldLen - wordLen +1); col = rand() % searchFieldLen; for (int i = 0; i< wordLen; i++) { if (salad[row+i][col] != EMPTY_CHAR) { fits = 0; break; } } if (fits) { for (int i = 0; i