/* * 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); }
/** * 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; }