C++ program for Tic Tac Toe game














































C++ program for Tic Tac Toe game



#include <iostream> using namespace std; char symbol[10]; //initialising starting elements of board void starting_board() { int i; for( i=1 ; i<=9 ; i++) { symbol[i]=i+48; } } // Function to create board void create_board() { cout << "Player 1 (X) - Player 2 (O)" << "\n\n\n"; cout << " | | \n"; cout << " " << symbol[1] << " | " << symbol[2] << " | " << symbol[3] << "\n"; cout << "_____|_____|_____\n"; cout << " | | \n"; cout << " " << symbol[4] << " | " << symbol[5] << " | " << symbol[6] << "\n"; cout << "_____|_____|_____\n"; cout << " | | \n"; cout << " " << symbol[7] << " | " << symbol[8] << " | " << symbol[9] << "\n"; cout << " | | \n\n"; } // function to check winner string check_winner( ) { if (symbol[1] == symbol[2] && symbol[2] == symbol[3]) return "Winner"; else if (symbol[4] == symbol[5] && symbol[5] == symbol[6]) return "Winner"; else if (symbol[7] == symbol[8] && symbol[8] == symbol[9]) return "Winner"; else if (symbol[1] == symbol[4] && symbol[4] == symbol[7]) return "Winner"; else if (symbol[2] == symbol[5] && symbol[5] == symbol[8]) return "Winner"; else if (symbol[3] == symbol[6] && symbol[6] == symbol[9]) return "Winner"; else if (symbol[1] == symbol[5] && symbol[5] == symbol[9]) return "Winner"; else if (symbol[3] == symbol[5] && symbol[5] == symbol[7]) return "Winner"; else if (symbol[1] != '1' && symbol[2] != '2' && symbol[3] != '3' && symbol[4] != '4' && symbol[5] != '5' && symbol[6] != '6' && symbol[7] != '7' && symbol[8] != '8' && symbol[9] != '9') return "game_over"; else return "play_again"; } int main() { int player=1 , i , choice ; char sym ; string game="play_again"; starting_board(); //main logic starts here while( game == "play_again") { create_board(); int turn = player % 2; if(turn==1) { sym='X'; } else { sym ='O'; turn = 2; } cout<<"Player = "<<turn<<" Enter a number "<<"\n\n"; cin>>choice; for( i=1 ; i<=9 ; i++) { if(choice==i && symbol[i]==i+48) { symbol[i]=sym; break; } } if(i > 9) // { cout<<"Enter valid number\n"; cin>>choice; for( i=1 ; i<=9 ; i++) { if(choice==i && symbol[i]==i+48) { symbol[i]=sym; break; } } if(i > 9) //for invalid number { cout<<"Enter valid number\n"; cin>>choice; } else{ create_board(); game = check_winner(); if(game=="game_over") cout<<"Game over and no one has won!!\n\n"; else if(game == "play_again") player++; else cout<<turn<<" has won the game\n\n"; } } else{ create_board(); game = check_winner(); if(game=="game_over") cout<<"Game over and no one has won!!\n\n"; else if(game == "play_again") player++; else cout<<turn<<" has won the game\n\n"; } } }

Comments