#include #include //needed for rand #include void draw_board(); void player_movement(); void computer_movement(); bool check_for_winner(char player); char board_info[9] = {'1','2','3', '4','5','6', '7','8','9'}; int main() { int counter = 0; bool winner = false; srand(GetTickCount()); //sets randomizer as time *unique* draw_board(); for (int i = 0; i < 9 ; i++) { board_info[i] = ' '; } draw_board(); //game loop while (true) { player_movement(); draw_board(); winner = check_for_winner('X'); counter++; if (winner) { cout << "\nYou Win" << endl; break; } if (counter >= 9) { cout << "\nDraw Game" << endl; break; } computer_movement(); draw_board(); winner = check_for_winner('O'); counter++; if (winner) { cout << "\nComputer Win" <> choice; //Error Checking if (cin.fail()) { cout << "Error!"; exit(1); } while (choice >= 10 || choice <=0) { cout << "\nPlease select again: "; cin >> choice; } while (board_info[(choice-1)] != ' ') { cout << "\nPlease select again: "; cin >> choice; }; board_info[choice-1] = 'X'; } void computer_movement() { if ((int(board_info[0]) + int(board_info[1]) + int(board_info[2])) == (2*int(char('X')))+int(char(' '))) { if (board_info[0] == ' ') board_info[0] = 'O'; else if (board_info[1] == ' ') board_info[1] = 'O'; else if (board_info[2] == ' ') board_info[2] = 'O'; } else if ((int(board_info[3]) + int(board_info[4]) + int(board_info[5])) == (2*int(char('X')))+int(char(' '))) { if (board_info[3] == ' ') board_info[3] = 'O'; else if (board_info[4] == ' ') board_info[4] = 'O'; else if (board_info[5] == ' ') board_info[5] = 'O'; } else if ((int(board_info[6]) + int(board_info[7]) + int(board_info[8])) == (2*int(char('X')))+int(char(' '))) { if (board_info[6] == ' ') board_info[6] = 'O'; else if (board_info[7] == ' ') board_info[7] = 'O'; else if (board_info[8] == ' ') board_info[8] = 'O'; } else if ((int(board_info[0]) + int(board_info[3]) + int(board_info[6])) == (2*int(char('X')))+int(char(' '))) { if (board_info[0] == ' ') board_info[0] = 'O'; else if (board_info[3] == ' ') board_info[3] = 'O'; else if (board_info[6] == ' ') board_info[6] = 'O'; } else if ((int(board_info[1]) + int(board_info[4]) + int(board_info[7])) == (2*int(char('X')))+int(char(' '))) { if (board_info[1] == ' ') board_info[1] = 'O'; else if (board_info[4] == ' ') board_info[4] = 'O'; else if (board_info[7] == ' ') board_info[7] = 'O'; } else if ((int(board_info[2]) + int(board_info[5]) + int(board_info[8])) == (2*int(char('X')))+int(char(' '))) { if (board_info[2] == ' ') board_info[2] = 'O'; else if (board_info[5] == ' ') board_info[5] = 'O'; else if (board_info[8] == ' ') board_info[8] = 'O'; } else if ((int(board_info[0]) + int(board_info[4]) + int(board_info[8])) == (2*int(char('X')))+int(char(' '))) { if (board_info[0] == ' ') board_info[0] = 'O'; else if (board_info[4] == ' ') board_info[4] = 'O'; else if (board_info[8] == ' ') board_info[8] = 'O'; } else if ((int(board_info[2]) + int(board_info[4]) + int(board_info[6])) == (2*int(char('X')))+int(char(' '))) { if (board_info[2] == ' ') board_info[2] = 'O'; else if (board_info[4] == ' ') board_info[4] = 'O'; else if (board_info[6] == ' ') board_info[6] = 'O'; } else { int number = rand()%9; while (board_info[number] != ' ') number = rand()%9; board_info[number] = 'O'; } } bool check_for_winner(char player) { if ((board_info[0] == player && board_info[1] == player) && (board_info[2] == player)) return true; if ((board_info[3] == player && board_info[4] == player) && (board_info[5] == player)) return true; if ((board_info[6] == player && board_info[7] == player) && (board_info[8] == player)) return true; if ((board_info[0] == player && board_info[3] == player) && (board_info[6] == player)) return true; if ((board_info[1] == player && board_info[4] == player) && (board_info[7] == player)) return true; if ((board_info[2] == player && board_info[5] == player) && (board_info[8] == player)) return true; if ((board_info[0] == player && board_info[4] == player) && (board_info[8] == player)) return true; if ((board_info[2] == player && board_info[4] == player) && (board_info[6] == player)) return true; else return false; } //This tutorial was downloaded from http://gummianime.cjb.net //This was compiled on Dev-C++ v4.01 //last updated 8-20-2003