Вы находитесь на странице: 1из 3

// Programmer: Harsh Gupta // Program: Tic Tac Toe Game // Email: Harshgupta.11dec@gmail.

com #include <iostream> using namespace std; void clear_screen() { HANDLE output_handle = GetStdHandle(STD_OUTPUT_HANDLE); DWORD bytes_write, size; COORD coord = {0, 0}; CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo(output_handle, &csbi); size = csbi.dwSize.X * csbi.dwSize.Y; FillConsoleOutputCharacter(output_handle, ' ', size, coord, &bytes_write); SetConsoleCursorPosition(output_handle, coord); } void main() { char sign[9]; bool gamewin = false; char tac = 'X'; int turn = 1; char back = 'y'; char userinput; char b = '1'; while(back == 'y' || back == 'Y') { clear_screen(); cout << "Welcome to Harsh TIC TAC TOE Game\n"; gamewin = false; b = '1'; for (int i = 0; i <= 8;i++){ sign[i] = b; b++; } for (int i = 1;i<=9;i+=3){ // Displaying the values of string cout << sign[i-1] << " | " << sign[i] << " | " << sign[i+1] << endl; }

while(!gamewin){ // Real game starts here by taking user input if (turn == 1) // Condition for X & O marks tac = 'X'; else tac = 'O'; cout << "Player " << turn << " move: "; cin >> userinput; b = '1'; for (int i = 0;i<=8;i++){ // Condition so that user can't input the same value again & again if (userinput == b && (sign[i] == 'X' || sign[i] == 'O')){ cout << "\n\nInvalid Move. Try again\n"; continue;} b++; } b = '1'; for (int i = 0;i<=8;i++){ // Loop for changing display values by input of user if(userinput == b && sign[i] == b) sign[i] = tac; b++; } if(userinput != '1' && userinput != '2' && userinput != '3' && userinput != '4' && userinput != '5' && userinput != '6' && userinput != '7' && userinput != '8' && userinput != '9'){ // Condition so that user can't input any number except 0-9 cout << "\n\nInvalid Move. Try again\n"; continue;} if (sign[0] == tac) // 3 Winning Conditions if ((sign[2] == sign[0] && sign[0] == sign[1]) || (sign[6] == sign[0] && sign[0] == sign[3])){ cout << "\nPlayer " << turn << "won the game\n"; gamewin = true;} if (sign[8] == tac) if ((sign[5] == sign[8] && sign[8] == sign[2]) || (sign[8] == sign[6] && sign[8] == sign[7])){ cout << "\nPlayer " << turn << "won the game\n"; gamewin = true;} if (sign[4] == tac) if ((sign[4] == sign[0] && sign[4] == sign[8]) || (sign[4] == sign[1] && sign[4] == sign[7]) || (sign[4] == sign[2] && sign[4] == sign[6]) || (sign[4] == sign[3] && sign[4] == sign[5])){

cout << "\nPlayer " << turn << "won the game\n"; gamewin = true;} if (sign[0] == 'X' || sign[0] == 'O') // Draw Condtion if (sign[1] == 'X' || sign[1] == 'O') if (sign[2] == 'X' || sign[2] == 'O') if (sign[3] == 'X' || sign[3] == 'O') if (sign[4] == 'X' || sign[4] == 'O') if (sign[5] == 'X' || sign[5] == 'O') if (sign[6] == 'X' || sign[6] == 'O') if (sign[7] == 'X' || sign[7] == 'O') if (sign[8] == 'X' || sign[8] == 'O'){ cout << "\nNo one wins the game. Game Draws\n"; gamewin = true;} for (int i = 1;i<=9;i+=3){ // Loop for displaying the value again cout << sign[i-1] << " | " << sign[i] << " | " << sign[i+1] << endl; } if (turn == 1) turn = 2; else turn = 1; } cout << "\nWant to play the game again (y/n)?"; //Return to main game by choice of user cin >> back; } }

Вам также может понравиться