From e355223d7c48d2c795745bfde59e621bc90dded6 Mon Sep 17 00:00:00 2001 From: herzogfl100239 Date: Tue, 4 Nov 2025 15:17:56 +0100 Subject: [PATCH] =?UTF-8?q?Meine=20=C3=84nderungen=20an=20game.c?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Start_Mac/game.c | 214 ++++++++++++++++++++++++++++++++++++++++++-- Start_Mac/game.o | Bin 0 -> 7872 bytes Start_Mac/input.c | 29 +++++- Start_Mac/input.o | Bin 0 -> 4840 bytes Start_Mac/main.c | 45 +++++++++- Start_Mac/runTests | Bin 0 -> 56760 bytes Start_Mac/words.txt | 21 +++-- 7 files changed, 293 insertions(+), 16 deletions(-) create mode 100644 Start_Mac/game.o create mode 100644 Start_Mac/input.o create mode 100755 Start_Mac/runTests diff --git a/Start_Mac/game.c b/Start_Mac/game.c index d8cc133..6fb47a5 100644 --- a/Start_Mac/game.c +++ b/Start_Mac/game.c @@ -4,20 +4,220 @@ #include #define MAX_RAND_TRIES_PER_WORD 10 -#define EMPTY_CHAR 0 +#define EMPTY_CHAR '.' -//TODO: Spiellogik implementieren: + +// TODO: Spiellogik implementieren: /* * Wörter aus der Wortliste zufällig horizontal oder vertikal platzieren - * restliche Felder mit zufälligen Buchstaben füllen */ + * 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) + + +static void initializeArray(char salad [MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsigned int searchFieldLen) //Array initialisieren & mit Filler füllen { + for (int i = 0; i < searchFieldLen; i++) + { + + for (int j = 0; j < searchFieldLen; j++) + { + salad[i][j] = EMPTY_CHAR; + } + } +} + + +static void col_row (unsigned int searchFieldLen, int *x, int *y) //Zufällige x/y Koordinate für Anfang von Wort +{ + *x = rand() % searchFieldLen; + + *y = rand() % searchFieldLen; +} + + +static int place(char salad [MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], int searchFieldLen, int len [],const char words [] [MAX_WORD_LEN], unsigned int wordCount) //Prüfen ob plazierbar und plazieren +{ + int x, y; + int placedWords = 0; //Counter plazierte Wörter + + + for(int i = 0; i < wordCount; i++) + { + int placed = 0; + + + for(int tries = 0; tries < MAX_RAND_TRIES_PER_WORD && !placed; tries++) + { + len[i] = (int)strlen(words[i]); + + col_row(searchFieldLen, &x, &y); + + int orient = rand() % 2; + + + if(orient == 0) //wir prüfen und füllen horizontal (in x-Richtung) + { + int works = 1; + + if(((x + len[i]) > searchFieldLen)) + { + + works = 0; + + } + + + else + { + + for(int j = x; j < (x + len[i]); j++) + { + + if(salad[y][j] != EMPTY_CHAR) + { + + works = 0; + break; + + } + } + } + + // ab hier platzieren wir + + if(works) + { + + for (int k = 0; k < len[i]; k++) + { + + salad[y][x + k] = words[i][k]; + + } + + placed = 1; + placedWords++; + + } + } + + + else //wir prüfen und füllen vertikal (in y-Richtung) + { + int works = 1; + + if(((y + len[i]) > searchFieldLen)) + { + + works = 0; + + } + + else + { + + for(int j = y; j < (y + len[i]); j++) + { + + if(salad[j][x] != EMPTY_CHAR) + { + + works = 0; + break; + + } + } + } + + // ab hier platzieren wir + + if(works) + { + + for (int k = 0; k < len[i]; k++) + { + + salad[y + k][x] = words[i][k]; + + } + + placed = 1; + placedWords++; + + } + } + } + } + +return placedWords; + } -// Prints the word salad to console -void showWordSalad(const char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsigned int searchFieldLen) + +static void fillLetters(char salad [MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsigned int searchFieldLen) //Übrige freie Felder mit Buchstaben füllen { + for (int i = 0; i < searchFieldLen; i++) + { + + for (int j = 0; j < searchFieldLen; j++) + { + + if (salad[i][j] == EMPTY_CHAR) + { + + char random_letter = 'A' + (rand() % 26); + salad[i][j] = random_letter; + + } + } + } +} + +//Erstellt Wortsalat, plaziert Wörter zufällig & füllt die Lücken + +int createWordSalad(char salad [MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsigned int searchFieldLen, const char words [] [MAX_WORD_LEN], unsigned int wordCount) +{ + srand(time(NULL)); + + initializeArray(salad, searchFieldLen); + + int len [wordCount]; + int count = 0; + + for(int i = 0; i < wordCount; i++) + { + + if(words [i] [0] != '\0') + count++; + + } + + int placeWords = place(salad, searchFieldLen, len, words, count); + + + fillLetters(salad, searchFieldLen); + + return placeWords; + +} + +// Ausgabe von Wortsalat auf Konsole + +void showWordSalad(const char salad [MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsigned int searchFieldLen) +{ + + for (int i = 0; i < searchFieldLen; i++) + { + + for (int j = 0; j < searchFieldLen; j++) + { + + printf("%c ", salad [i][j]); + + } + + printf("\n"); + + } } diff --git a/Start_Mac/game.o b/Start_Mac/game.o new file mode 100644 index 0000000000000000000000000000000000000000..1af55903ee7bf2697e767f0aa0f958cc5185363c GIT binary patch literal 7872 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 V>gs-sxL!r3Nlj>=%X!A-{{Z47-v0mq literal 0 HcmV?d00001 diff --git a/Start_Mac/input.c b/Start_Mac/input.c index ed77805..1794b48 100644 --- a/Start_Mac/input.c +++ b/Start_Mac/input.c @@ -1,6 +1,7 @@ #include "input.h" #include #include +#include // TODO: // eine Funktion implementieren, die ein einzelnes Wort aus einer Textdatei (words.txt) einliest und als C-String zurückgibt. @@ -8,5 +9,31 @@ // Read words from file and store in 'words' array int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) { + + unsigned int count = 0; + char line[MAX_LINE_LEN]; + + while(fgets(line, sizeof(line), file)!= NULL && count < maxWordCount) + { + const char *delims = "\t\n\r ,;"; + char *token = strtok(line, delims); + + + while (token != NULL && count < maxWordCount) + { + for(unsigned int i = 0; token[i] != '\0'; i++) + { + token[i] = toupper((unsigned char)token[i]); + } + strncpy(words[count], token, MAX_WORD_LEN -1); + words[count][MAX_WORD_LEN -1] = '\0'; + count++; + token = strtok(NULL, delims); //hier + + } + + } + return count; + +} -} \ No newline at end of file diff --git a/Start_Mac/input.o b/Start_Mac/input.o new file mode 100644 index 0000000000000000000000000000000000000000..8acf8a79a66dbceacd58e6ea47c0e5ee578f7589 GIT binary patch literal 4840 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 C+<+JW literal 0 HcmV?d00001 diff --git a/Start_Mac/main.c b/Start_Mac/main.c index 03da755..36cce28 100644 --- a/Start_Mac/main.c +++ b/Start_Mac/main.c @@ -7,18 +7,27 @@ #define MAX_NUMBER_OF_WORDS 100 #define SALAD_SIZE 20 + + int main(int argc, char *argv[]) { + int exitCode = EXIT_SUCCESS; + // Check if the correct number of arguments is provided + if(argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); exitCode = EXIT_FAILURE; + } + else { + char words[MAX_NUMBER_OF_WORDS][MAX_WORD_LEN]; // Array to hold the words to be used in the game unsigned int wordCount = 0; @@ -26,29 +35,59 @@ int main(int argc, char *argv[]) if(file != NULL) { + unsigned int placedWords = 0; - char wordSalad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN]; // 2D array to store the word salad + char wordSalad [MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN]; // 2D array to store the word salad + // Read words from file and store in 'words' array + wordCount = readWords(file, words, MAX_NUMBER_OF_WORDS); fclose(file); + // Create the word salad by placing words into grid - placedWords = createWordSalad(wordSalad, SALAD_SIZE, words, wordCount); + + placedWords = createWordSalad(wordSalad, SALAD_SIZE, words, MAX_NUMBER_OF_WORDS); + // TODO: // Check if all words were successfully placed - // Start the game if successful + + if(placedWords == wordCount) + { + + printf("Alle %u Wörter wurden erfolgreich platziert.", placedWords); + + // Start the game if successful + + startGame(wordSalad, SALAD_SIZE, words, wordCount, 800); + + } + // error message if some words couldn't be placed + + else + { + + printf("Es konnten nicht alle Wörter ausgegeben werden. Nur %u von %u Wörtern wurde platziert.\n", placedWords, wordCount); + + } } + + else { + // Print error message if file couldn't be opened + fprintf(stderr, "Could not open file %s for reading ...\n", argv[1]); exitCode = EXIT_FAILURE; + } } return exitCode; + } \ No newline at end of file diff --git a/Start_Mac/runTests b/Start_Mac/runTests new file mode 100755 index 0000000000000000000000000000000000000000..b936797cf7485264f29e995090c0a40c98250192 GIT binary patch literal 56760 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 literal 0 HcmV?d00001 diff --git a/Start_Mac/words.txt b/Start_Mac/words.txt index 31ee099..9ce7be2 100644 --- a/Start_Mac/words.txt +++ b/Start_Mac/words.txt @@ -1,5 +1,16 @@ -Yeti,Nessie Werwolf; Vampir -Monster -Hydra;Frankenstein -Dracula;KingKong;Gremlin;Kobold,Hexe;Poltergeist -Gespenst, Oger \ No newline at end of file +YETI +NESSIE +WERWOLF +VAMPIR +MONSTER +HYDRA +FRANKENSTEIN +DRACULA +KINGKONG +GREMLIN +KOBOLD +HEXE +POLTERGEIST +GESPENST +OGER +APFEL \ No newline at end of file