Exemple #1
0
/*
 * Function:  playOneGame
 * --------------------
 * Starts the program by getting setting up the boggles object and
 * getting user input and initializing the board
 *
 * Preconditions:
 *
 *  @param: Takes the dicitonary
 *  @return: returns nothing
 */
void playOneGame(Lexicon& dictionary) {
    // Initialize GUI
    if(!BoggleGUI::isInitialized()){
        BoggleGUI::initialize(4,4);
    } else {
        BoggleGUI::reset();
    }

    BoggleGUI::setAnimationDelay(100);

    // Setup Board
    Boggle boggles = Boggle(dictionary,"");
    if (!getYesOrNo("Do you want to generate a random board? ")) {
        boggles = Boggle(dictionary,manualCase());
    }

    // Setup the gui to show the words
    printGUI(boggles);

    userTurn(boggles);
    computerTurn(boggles);
}
Exemple #2
0
/**
 * Runs all main game functions
 */
int runGame(ticTacToeBoard* selector, unsigned short int* corners, unsigned short int* sides, unsigned short int center, char* charPtr, unsigned short int* intPtr)
{
    unsigned short int aiPlay;
    unsigned short int win = 0;

    //Checks if AI is playing and sets respective character value
    if(intPtr[1] == 1)
        aiPlay = 1;
    else aiPlay=0;


    if(aiPlay == 1){
        // Sets user and AI character values
        if(charPtr[41] == 'X')
            charPtr[42] = 'O';
        else charPtr[42]= 'X';

    }

    switch(aiPlay)
    {
        //Runs game without AI
        case 0:
            while(win == 0)
            {
                // Runs user turn and returns a win of 0 or 1
                win = userTurn(selector, win, charPtr, aiPlay);

                // Increases turn by 1
                intPtr[0] = intPtr[0] + 1;
            }
            break;
        // Runs game with AI
        case 1:
            while(win == 0)
            {
                if(charPtr[42] == charPtr[40])
                {
                    // Runs AI turn
                    win = aiTurn(selector, corners, sides, center, win, charPtr, intPtr);

                    // Increases turn by 1
                    intPtr[0] = intPtr[0] + 1;
                    if(win == 1)
                        break;
                }
                win = userTurn(selector, win, charPtr, aiPlay);

                // Increases turn by 1
                intPtr[0] = intPtr[0] + 1;
            }
            break;
        default:
            displayError();
            break;
    }

    // Print board to console
    renderBoard(charPtr, win);

    return 0;
}