#include <iostream> #include <iomanip> #include <ctime> #include <cmath> #include <algorithm> #include <string> #define ll long long using namespace std; void drawBoard(char* spaces); void playerMove(char* spaces, char player); void computerMove(char* spaces, char computer); bool chekWinner(char* spaces, char computer, char player); bool chekTie(char* spaces); int main() { cout << "welcome to Tic_Tac_Toe" << "\n"; char spaces[9] = { ' ',' ',' ', ' ',' ',' ', ' ',' ',' '}; char player = 'X'; char computer = 'O'; bool running = 1; drawBoard(spaces); while (running == 1) { playerMove(spaces, player); drawBoard(spaces); if (chekWinner(spaces, computer, player) == 1) { running = 0; cout << "player 1 is winner "; break; } else if (chekTie(spaces) == 1) { running = 0; cout << "draw\n"; return 0; } computerMove(spaces, computer); drawBoard(spaces); if (chekWinner(spaces, computer, player) == 0) { running = 0; cout << "player 2 is winner "; break; } } return 0; } void drawBoard(char spaces[]) { cout << "\n"; cout << " | | " << "\n"; cout << " " << spaces[0] << " | " << spaces[1] << " | " << spaces[2] << "\n"; cout << "_____|_____|_____" << "\n"; cout << " | | " << "\n"; cout << " " << spaces[3] << " | " << spaces[4] << " | " << spaces[5] << "\n"; cout << "_____|_____|_____" << "\n"; cout << " | | " << "\n"; cout << " " << spaces[6] << " | " << spaces[7] << " | " << spaces[8] << "\n"; cout << " | | " << "\n"; cout << "\n"; } void playerMove(char* spaces, char player) { int num; do{ cout << "Enter a spot , player 1 (1-9)\n"; cin >> num; num--; if (spaces[num] == ' ') { spaces[num] = player; break; } } while (!num > 0 || !num < 8); } void computerMove(char* spaces, char computer) { int num; do { cout << "The turn of player 2 : (0-9) \n"; cin >> num; num--; if (spaces[num] == ' ') { spaces[num] = computer; break; } } while (num <= 8 || num >= 0); } bool chekWinner(char* spaces, char computer, char player) { if ((spaces[0] == spaces[1] && spaces[1] == spaces[2] && spaces[1] == player) || (spaces[3] == spaces[4] && spaces[4] == spaces[5] && spaces[4] == player) || (spaces[6] == spaces[7] && spaces[7] == spaces[8] && spaces[7] == player) || (spaces[0] == spaces[3] && spaces[3] == spaces[6] && spaces[3] == player) || (spaces[1] == spaces[4] && spaces[4] == spaces[7] && spaces[4] == player) || (spaces[2] == spaces[5] && spaces[5] == spaces[8] && spaces[5] == player) || (spaces[0] == spaces[4] && spaces[4] == spaces[8] && spaces[4] == player) || (spaces[2] == spaces[4] && spaces[4] == spaces[6] && spaces[4] == player)) { return 1; } else if ((spaces[0] == spaces[1] && spaces[1] == spaces[2] && spaces[1] == computer) || (spaces[3] == spaces[4] && spaces[4] == spaces[5] && spaces[4] == computer) || (spaces[6] == spaces[7] && spaces[7] == spaces[8] && spaces[7] == computer) || (spaces[0] == spaces[3] && spaces[3] == spaces[6] && spaces[3] == computer) || (spaces[1] == spaces[4] && spaces[4] == spaces[7] && spaces[4] == computer) || (spaces[2] == spaces[5] && spaces[5] == spaces[8] && spaces[5] == computer) || (spaces[0] == spaces[4] && spaces[4] == spaces[8] && spaces[4] == computer) || (spaces[2] == spaces[4] && spaces[4] == spaces[6] && spaces[4] == computer)) { return 0; } } bool chekTie(char* spaces) { if (spaces[0] != ' ' && spaces[1] != ' ' && spaces[2] != ' ' && spaces[3] != ' ' && spaces[4] != ' ' && spaces[5] != ' ' && spaces[6] != ' ' && spaces[7] != ' ' && spaces[8] != ' ') { return 1; } }
Standard input is empty
welcome to Tic_Tac_Toe | | | | _____|_____|_____ | | | | _____|_____|_____ | | | | | | Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) Enter a spot , player 1 (1-9) | | | | _____|_____|_____ | | | | _____|_____|_____ | | | | | | draw