online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; void drawBoard(char *spaces); void playerMove(char *spaces, char player, char computer); int computerMove(char *spaces, char player, char computer); int CheckWinner(char *spaces, char player, char computer, bool running); bool CheckTie(char *spaces, char player, char computer, bool running); int main() { char spaces[9] = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}; char player = 'X'; char computer = 'O'; bool running = true; drawBoard(spaces); while(running){ playerMove(spaces, player, computer); drawBoard(spaces); if(CheckWinner(spaces, player, computer, running)){ running = false; break; } if(CheckTie(spaces, player, computer, running) == true){ exit(0); } else { //pass } computerMove(spaces, player, computer); drawBoard(spaces); } } void drawBoard(char *spaces){ cout << "" << endl; cout << " | | " << endl; cout << " " << spaces[0] << " |" << spaces[1] << " |" << spaces[2] << endl; cout << " | | " << endl; cout << "____|____|_____" << endl; cout << " | | " << endl; cout << " " << spaces[3] << " |" << spaces[4] << " |" << spaces[5] << endl; cout << " | | " << endl; cout << "____|____|_____" << endl; cout << " | | " << endl; cout << " " << spaces[6] << " |" << spaces[7] << " |" << spaces[8] << endl; cout << " | | " << endl; cout << " | | " << endl; } void playerMove(char *spaces, char player, char computer){ int where; cout << "Where do you want to move? (1-9)" << endl; cin >> where; if(where == 1 && spaces[0] != computer){ spaces[0] = player; }else if(where == 1 && spaces[0] == computer){ cout << "The computer has already taken that place. Move again." << endl; cin >> where; } else if(where == 2 && spaces[1] != computer){ spaces[1] = player; } else if(where == 2 && spaces[1] == computer){ cout << "The computer has already taken that place. Move again." << endl; cin >> where; } else if(where == 3 && spaces[2] != computer){ spaces[2] = player; } else if(where == 3 && spaces[2] == computer){ cout << "The computer has already taken that place. Move again." << endl; cin >> where; } else if(where == 4 && spaces[3] != computer){ spaces[1] = player; } else if(where == 4 && spaces[3] == computer){ cout << "The computer has already taken that place. Move again." << endl; cin >> where; } else if(where == 5 && spaces[4] != computer){ spaces[1] = player; } else if(where == 5 && spaces[4] == computer){ cout << "The computer has already taken that place. Move again." << endl; cin >> where; } else if(where == 6 && spaces[5] != computer){ spaces[1] = player; } else if(where == 6 && spaces[5] == computer){ cout << "The computer has already taken that place. Move again." << endl; cin >> where; } else if(where == 7 && spaces[6] != computer){ spaces[1] = player; } else if(where == 7 && spaces[6] == computer){ cout << "The computer has already taken that place. Move again." << endl; cin >> where; } else if(where == 8 && spaces[7] != computer){ spaces[1] = player; } else if(where == 8 && spaces[7] == computer){ cout << "The computer has already taken that place. Move again." << endl; cin >> where; } else if(where == 9 && spaces[8] != computer){ spaces[1] = player; } else if(where == 9 && spaces[8] == computer){ cout << "The computer has already taken that place. Move again." << endl; cin >> where; } else { cout << "Uh.. Let's try that again." << endl; cin >> where; } } int computerMove(char *spaces, char player, char computer){ srand(time(NULL)); int computer_move = rand() % 9 + 1; if(computer_move == 1 && spaces[0] != player){ spaces[0] = computer; } else if(computer_move == 1 && spaces[0] == player){ return 0; } else if(computer_move == 2 && spaces[1] != player){ spaces[1] == computer; } else if(computer_move == 2 && spaces[1] == player){ return 0; } else if(computer_move == 3 && spaces[1] != player){ spaces[2] == computer; } else if(computer_move == 3 && spaces[1] == player){ return 0; } else if(computer_move == 4 && spaces[1] != player){ spaces[3] == computer; } else if(computer_move == 4 && spaces[1] == player){ return 0; } else if(computer_move == 5 && spaces[1] != player){ spaces[4] == computer; } else if(computer_move == 5 && spaces[1] == player){ return 0; } else if(computer_move == 6 && spaces[1] != player){ spaces[5] == computer; } else if(computer_move == 6 && spaces[1] == player){ return 0; } else if(computer_move == 7 && spaces[1] != player){ spaces[6] == computer; } else if(computer_move == 7 && spaces[1] == player){ return 0; } else if(computer_move == 8 && spaces[1] != player){ spaces[7] == computer; } else if(computer_move == 8 && spaces[1] == player){ return 0; } else if(computer_move == 9 && spaces[1] != player){ spaces[8] == computer; } else if(computer_move == 9 && spaces[1] == player){ return 0; } } int CheckWinner(char *spaces, char player, char computer, bool running){ for(int i=0; i<sizeof(spaces)/sizeof(spaces[0]); i++){ if(spaces[i] == player && spaces[i] == spaces[i+1] && spaces[i+1] == spaces[i+2]){ cout << "You Won!" << endl; running = false; } else if(spaces[i] == computer && spaces[i] == spaces[i+1] && spaces[i+1] == spaces[i+2]){ cout << "You Lost" << endl; exit(0); } else { return 0; } } if(spaces[0] == player && spaces[0] == spaces[4] && spaces[4] == spaces[8]){ cout << "You Won!" << endl; running = false; } else if(spaces[0] == computer && spaces[0] == spaces[4] && spaces[4] == spaces[8]){ cout << "You Lost :/" << endl; exit(0); } else { return 0; } if(spaces[2] == player && spaces[2] == spaces[4] && spaces[4] == spaces[6]){ cout << "You Won!" << endl; running = false; } else if(spaces[2] == computer && spaces[2] == spaces[4] && spaces[4] == spaces[6]){ cout << "You Lost!" << endl; exit(0); } else { return 0; } if(spaces[0] == player && spaces[0] == spaces[3] && spaces[3] == spaces[6] || spaces[2] == player && spaces[2] == spaces[5] && spaces[5] == spaces[8]){ cout << "You Won!" << endl; running = false; } else if(spaces[0] == computer && spaces[0] == spaces[3] && spaces[3] == spaces[6] || spaces[2] == computer && spaces[2] == spaces[5] && spaces[5] == spaces[8]){ cout << "You Lost" << endl; exit(0); } else { return 0; } } bool CheckTie(char *spaces, char player, char computer, bool running){ for(int i=0; i<9; i++){ if(spaces[i] == ' '){ return false; } } cout << "IT'S A TIE" << endl; return true; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue