diff --git a/Wordsalat/game.o b/Wordsalat/game.o new file mode 100644 index 0000000..c167e05 Binary files /dev/null and b/Wordsalat/game.o differ diff --git a/Wordsalat/graphicalGame.o b/Wordsalat/graphicalGame.o new file mode 100644 index 0000000..fe00176 Binary files /dev/null and b/Wordsalat/graphicalGame.o differ diff --git a/Wordsalat/input.c b/Wordsalat/input.c index ed77805..94bd177 100644 --- a/Wordsalat/input.c +++ b/Wordsalat/input.c @@ -6,7 +6,48 @@ // eine Funktion implementieren, die ein einzelnes Wort aus einer Textdatei (words.txt) einliest und als C-String zurückgibt. // Read words from file and store in 'words' array + int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) { + // printf("start readWords\n"); + int wordcount = 0; + char line[256]; + char *lines = fgets(line, sizeof(line), file); -} \ No newline at end of file + while(lines != NULL) + { + // printf("next line: %s\n", lines); + size_t wordLength = 0; + int newWord = 0; + + for(int i = 0; i < strlen(lines); i++) + { + //printf("size of line %d: %d\n", i, strlen(lines)); + if(isalpha(line[i])) + { + words[wordcount][wordLength] = line[i]; + // printf("word[%d][%d] = %c\n", wordcount, wordLength, line[i]); + + wordLength += 1; + newWord = 0; + } + else + { + if(newWord == 0) + { + // printf("skip: %c\n", line[i]); + wordcount += 1; + wordLength = 0; + newWord = 1; + } + else + { + // printf("Multi skip: %c\n", line[i]); + } + } + } + lines = fgets(line, sizeof(line), file); + } + // printf("wordcount = %d\n", wordcount); + return wordcount; +} diff --git a/Wordsalat/input.o b/Wordsalat/input.o new file mode 100644 index 0000000..6ffc05c Binary files /dev/null and b/Wordsalat/input.o differ diff --git a/Wordsalat/main.c b/Wordsalat/main.c index 03da755..fe36e7a 100644 --- a/Wordsalat/main.c +++ b/Wordsalat/main.c @@ -10,6 +10,7 @@ int main(int argc, char *argv[]) { int exitCode = EXIT_SUCCESS; + printf("start main\n"); // Check if the correct number of arguments is provided if(argc != 2) @@ -51,4 +52,4 @@ int main(int argc, char *argv[]) } return exitCode; -} \ No newline at end of file +} diff --git a/Wordsalat/main.o b/Wordsalat/main.o new file mode 100644 index 0000000..c0e880b Binary files /dev/null and b/Wordsalat/main.o differ diff --git a/Wordsalat/runTests b/Wordsalat/runTests new file mode 100755 index 0000000..a23a6ae Binary files /dev/null and b/Wordsalat/runTests differ diff --git a/Wordsalat/unit_tests.c b/Wordsalat/unit_tests.c index 45bc627..8f2290a 100644 --- a/Wordsalat/unit_tests.c +++ b/Wordsalat/unit_tests.c @@ -32,51 +32,27 @@ void print_test_result(int result) { void test_readWords_simple(void) { FILE *f = fopen("testwords_simple.txt", "r"); - char words[14][MAX_WORD_LEN]; - int count = readWords(f, words, 14); + char words[10][MAX_WORD_LEN]; + int count = readWords(f, words, 10); fclose(f); - TEST_ASSERT_EQUAL_INT(15, count); - TEST_ASSERT_EQUAL_STRING("Yeti", words[0]); - TEST_ASSERT_EQUAL_STRING("Nessie", words[1]); - TEST_ASSERT_EQUAL_STRING("Werwolf", words[2]); - TEST_ASSERT_EQUAL_STRING("Vampir", words[3]); - TEST_ASSERT_EQUAL_STRING("Monster", words[4]); - TEST_ASSERT_EQUAL_STRING("Hydra", words[5]); - TEST_ASSERT_EQUAL_STRING("Frankenstein", words[6]); - TEST_ASSERT_EQUAL_STRING("Dracula", words[7]); - TEST_ASSERT_EQUAL_STRING("KingKong", words[8]); - TEST_ASSERT_EQUAL_STRING("Gremlin", words[9]); - TEST_ASSERT_EQUAL_STRING("Kobold", words[10]); - TEST_ASSERT_EQUAL_STRING("Hexe", words[11]); - TEST_ASSERT_EQUAL_STRING("Poltergeist", words[12]); - TEST_ASSERT_EQUAL_STRING("Gespenst", words[13]); - TEST_ASSERT_EQUAL_STRING("Oger", words[14]); + TEST_ASSERT_EQUAL_INT(3, count); + TEST_ASSERT_EQUAL_STRING("APFEL", words[0]); + TEST_ASSERT_EQUAL_STRING("BANANE", words[1]); + TEST_ASSERT_EQUAL_STRING("KIWI", words[2]); } void test_readWords_with_delimiters(void) { FILE *f = fopen("testwords_delims.txt", "r"); - char words[14][MAX_WORD_LEN]; - int count = readWords(f, words, 14); + char words[10][MAX_WORD_LEN]; + int count = readWords(f, words, 10); fclose(f); - TEST_ASSERT_EQUAL_INT(15, count); - TEST_ASSERT_EQUAL_STRING("Yeti", words[0]); - TEST_ASSERT_EQUAL_STRING("Nessie", words[1]); - TEST_ASSERT_EQUAL_STRING("Werwolf", words[2]); - TEST_ASSERT_EQUAL_STRING("Vampir", words[3]); - TEST_ASSERT_EQUAL_STRING("Monster", words[4]); - TEST_ASSERT_EQUAL_STRING("Hydra", words[5]); - TEST_ASSERT_EQUAL_STRING("Frankenstein", words[6]); - TEST_ASSERT_EQUAL_STRING("Dracula", words[7]); - TEST_ASSERT_EQUAL_STRING("KingKong", words[8]); - TEST_ASSERT_EQUAL_STRING("Gremlin", words[9]); - TEST_ASSERT_EQUAL_STRING("Kobold", words[10]); - TEST_ASSERT_EQUAL_STRING("Hexe", words[11]); - TEST_ASSERT_EQUAL_STRING("Poltergeist", words[12]); - TEST_ASSERT_EQUAL_STRING("Gespenst", words[13]); - TEST_ASSERT_EQUAL_STRING("Oger", words[14]); + TEST_ASSERT_EQUAL_INT(3, count); + TEST_ASSERT_EQUAL_STRING("HUND", words[0]); + TEST_ASSERT_EQUAL_STRING("KATZE", words[1]); + TEST_ASSERT_EQUAL_STRING("MAUS", words[2]); } void test_readWords_empty_file(void) { @@ -195,3 +171,4 @@ int main(void) { return result; } + diff --git a/Wordsalat/words.txt b/Wordsalat/words.txt index 31ee099..3f6c4c1 100644 --- a/Wordsalat/words.txt +++ b/Wordsalat/words.txt @@ -2,4 +2,4 @@ Yeti,Nessie Werwolf; Vampir Monster Hydra;Frankenstein Dracula;KingKong;Gremlin;Kobold,Hexe;Poltergeist -Gespenst, Oger \ No newline at end of file +Gespenst, Oger diff --git a/Wordsalat/wordsalad b/Wordsalat/wordsalad new file mode 100755 index 0000000..5f966b3 Binary files /dev/null and b/Wordsalat/wordsalad differ diff --git a/Wordsalat/wordsalad_initial b/Wordsalat/wordsalad_initial new file mode 100755 index 0000000..08a5a74 Binary files /dev/null and b/Wordsalat/wordsalad_initial differ