diff --git a/Startcode/main.c b/Startcode/main.c index 03da755..4c645bc 100644 --- a/Startcode/main.c +++ b/Startcode/main.c @@ -6,49 +6,51 @@ #define MAX_NUMBER_OF_WORDS 100 #define SALAD_SIZE 20 +#define WINDOW_WIDTH 480 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; + return 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; + + FILE *file = fopen(argv[1], "r"); + if(file == NULL) { - char words[MAX_NUMBER_OF_WORDS][MAX_WORD_LEN]; // Array to hold the words to be used in the game - unsigned int wordCount = 0; - - FILE *file = fopen(argv[1], "r"); - - if(file != NULL) - { - unsigned int placedWords = 0; - 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); - - // TODO: - // Check if all words were successfully placed - // Start the game if successful - // error message if some words couldn't be placed - - } - 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; - } + // Print error message if file couldn't be opened + fprintf(stderr, "Could not open file %s for reading ...\n", argv[1]); + return EXIT_FAILURE; } - return exitCode; -} \ No newline at end of file + unsigned int placedWords = 0; + 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); + + if(wordCount == 0) + { + fprintf(stderr, "No words found...\n"); + return EXIT_FAILURE; + } + + // Create the word salad by placing words into grid + placedWords = createWordSalad(wordSalad, SALAD_SIZE, words, wordCount); + + if(placedWords != wordCount) + { + fprintf(stderr, "Could not place %d out of %d words ...\n", wordCount - placedWords, wordCount); + return EXIT_FAILURE; + } + + startGame(wordSalad, SALAD_SIZE, words, placedWords, WINDOW_WIDTH); + + return EXIT_SUCCESS; +}