int main(int argc, char* argv[]) { bool running = true; struct SudokuBoard board = { 0 }; struct SudokuCommandInput commandInput = { 0 }; const struct SudokuCommand *command = NULL; SudokuCommandResult status = SUDOKU_COMMAND_SUCCESS; initializeSudokuBoard(&board); initializeString(&commandInput.string); puts("========== Sudoku Game =========="); puts(showAllCommandsPrompt); putchar('\n'); // if one argument was provided, go ahead and load sudoku board from textfile if (argc > 1) { // if filename provided by argument cannot be found/read, loadSudokuBoard will // print an error statement, and execution will continue with a blank board loadSudokuBoard(argv[1], &board); } printSudokuBoard(&board); while (running) { // put extra space between previous output and command prompt putchar('\n'); command = getCommand(&commandInput); status = command->commandFunction(&board, &commandInput); if (status == SUDOKU_COMMAND_USAGE) { printf("Usage: '%s'\n", command->usagePrompt); } else if (status == SUDOKU_COMMAND_EXIT) { running = false; } } freeHistory(&board.history); return 0; }
void Sudoku::transform() { printSudokuBoard(); }