示例#1
0
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;
}
示例#2
0
void Sudoku::transform()
{
	printSudokuBoard();
}