Example #1
0
void CLI::apply_load(int option) {
    string file_name = "";
    switch (option) {
        case LOAD_NEW_GAME:
            loaded_game = false;
            break;
        case LOAD_LAST_GAME:
        case LOAD_FROM_PGN:
            if (option == LOAD_LAST_GAME) {
                file_name = IN_PROGRESS_PGN_FILE;
            } else {
                cout << "Enter a filename: ";
                file_name = get_line();
            }
            if (pgn.read_from_file(file_name)) {
                message = "A game was loaded properly.\n";
                loaded_game = true;
                board = new Board(pgn.get_board());
                int status = board_status(*board);
                if (status == STATUS_BLACK_MATES || status == STATUS_WHITE_MATES) {
                    if (board->undo_move()) {
                        message += " But the last move was removed\n because of a checkmate!\n";
                    } else {
                        message = "Something went totally wrong \n with the file you tried to load.";
                        loaded_game = false;
                    }
                }
                message += board->to_move == WHITE ? " White" : " Black";
                message += " is playing next.";
            } else {
                message = "Error opening: " + file_name;
                loaded_game = false;
            }
            break;
        case LOAD_FROM_FEN:
            //when reading from fen loaded_game should be false. Just change the fen variable
            //            read_fen();
            //            message = "Your FEN hopefully will work!\n" + fen;
            break;
    }
}
Example #2
0
/**
 * wou_status - update TX and RX link status
 **/
void wou_status (wou_param_t *w_param)
{
    board_status (w_param->board);
    return;
}