source code of tic tac toe

Discussion in 'C++' started by hkp819, Dec 17, 2008.

  1. hkp819

    hkp819 New Member

    Joined:
    Dec 4, 2008
    Messages:
    59
    Likes Received:
    1
    Trophy Points:
    0
    hello I am going to post the source code of tic tac toe game.
    Code:
    #include<stdio.h>
    #include<conio.h>
    
    void Board();
    void PlayerX();
    void PlayerO();
    void Player_win();
    void check();
    int win=0,wrong_X=0,wrong_O=0,chk=0;
    
    char name_X[30];
    char name_O[30];
    int pos_for_X[3][3];
    int pos_for_O[3][3];
    int pos_marked[3][3];
    
    void main()
    {
    	int i,ch,j;
    	char ans;
    /*	clrscr();
    	printf("\n\t\t\t\tTIC TAC TOE");
    	printf("\n\t\t\t\t");
    	for(i=1;i<=11;i++)
    	{
    		delay(10000);
    		printf("*");
    	}*/
    	do
    	{
    		clrscr();
    		printf("\n\t\t\t\tTIC TAC TOE");
    		printf("\n\t\t\t\t");
    		for(i=1;i<=11;i++)
    		{
    			delay(10000);
    			printf("*");
    		}
    		printf("\n1.Start The Game");
    		printf("\n2.Quit The Game");
    		printf("\nEnter your choice(1-2) : ");
    		scanf("%d",&ch);
    		switch(ch)
    		{
    			case 1:
    				chk=0;
    				win=0;
    				for(i=1;i<=3;i++)
    				{
    					for(j=1;j<=3;j++)
    					{
    						pos_for_X[i][j]=0;
    						pos_for_O[i][j]=0;
    						pos_marked[i][j]=0;
    					}
    				}
    				printf("\n\n");
    				clrscr();
    				printf("\nEnter the name of the player playing for \'X\': ");
    				fflush(stdin);
    				gets(name_X);
    				printf("\nEnter the name of the player playing for \'O\': ");
    				fflush(stdin);
    				gets(name_O);
    				Board();
    				for(;;)
    				{
    					if(win==1)
    						break;
    					check();
    					if(chk==9)
    					{
    						printf("\n\t\t\tMATCH DRAWS!!");
    						printf("\nPress any key....");
    						break;
    					}
    					else
    						chk=0;
    					printf("\nTURN FOR %s:",name_X);
    					PlayerX();
    					do
    					{
    						if(wrong_X!=1)
    							break;
    						wrong_X=0;
    						printf("\nTURN FOR %s:",name_X);
    						PlayerX();
    					}while(wrong_X==1);
    					check();
    					if(chk==9)
    					{
    						printf("\n\t\t\tMATCH DRAWS");
    						printf("\nPress any key....");
    						break;
    					}
    					else
    						chk=0;
    					printf("\nTURN FOR %s:",name_O);
    					PlayerO();
    					do
    					{
    						if(wrong_O!=1)
    							break;
    						wrong_O=0;
    						printf("\nTURN FOR %s:",name_O);
    						PlayerO();
    					}while(wrong_O==1);
    
    					}
    				Board();
    				if(win!=1)
    				{
    					printf("\n\t\t\tMATCH DRAWS!!");
    					printf("\nPress any key.......");
    				}
    				getch();
    				break;
    			case 2:
    				printf("\n\n\n\t\t\tThank You For Playing The Game.");
    				printf("\n\t\t\t###############################");
    				getch();
    				exit(1);
    				break;
    		}
    		printf("\nWant To Play(Y/N) ? ");
    		fflush(stdin);
    		scanf("%c",&ans);
    	}while(ans=='y' || ans=='Y');
    }
    
    
    void Board()
    {
    	int i,j;
    	clrscr();
    	printf("\n\t\t\t\tTIC TAC TOE BOARD");
    	printf("\n\t\t\t\t*****************");
    	printf("\n\n\n");
    	printf("\n\t\t\t    1\t      2\t        3");
    	for(i=1;i<=3;i++)
    	{
    		printf("\n \t\t\t _____________________________");
    		printf("\n \t\t\tº\t  º\t   º\t     º");
    		printf("\n\t\t%d\t",i);
    		for(j=1;j<=3;j++)
    		{
    
    			if(pos_for_X[i][j]==1)
    			{
    				printf("    X");
    				printf("     ");
    			}
    			else if(pos_for_O[i][j]==1)
    			{
    				printf("    O");
    				printf("     ");
    			}
    			else
    			{
    				printf("          ");
    				continue;
    			}
    		}
    		printf("\n\t\t\tº\t  º\t   º\t     º");
    	}
    	printf("\n\t\t\t------------------------------");
    	Player_win();
    }
    
    
    void PlayerX()
    {
    	int row,col;
    	if(win==1)
    		return;
    	printf("\nEnter the row no. : ");
    	fflush(stdin);
    	scanf("%d",&row);
    	printf("Enter the column no. : ");
    	fflush(stdin);
    	scanf("%d",&col);
    	if(pos_marked[row][col]==1 || row<1 || row>3 || col<1 || col>3)
    	{
    		printf("\nWRONG POSITION!! Press any key.....");
    		wrong_X=1;
    		getch();
    		Board();
    	}
    	else
    	{
    		pos_for_X[row][col]=1;
    		pos_marked[row][col]=1;
    		Board();
    	}
    }
    void PlayerO()
    {
    	int row,col;
    	if(win==1)
    		return;
    	printf("\nEnter the row no. : ");
    	scanf("%d",&row);
    	printf("Enter the column no. : ");
    	scanf("%d",&col);
    	if(pos_marked[row][col]==1 || row<1 || row>3 || col<1 || col>3)
    	{
    		printf("\nWRONG POSITION!! Press any key....");
    		wrong_O=1;
    		getch();
    		Board();
    	}
    	else
    	{
    		pos_for_O[row][col]=1;
    		pos_marked[row][col]=1;
    		Board();
    	}
    }
    void Player_win()
    {
    	int i;
    	for(i=1;i<=3;i++)
    	{
    		if(pos_for_X[i][1]==1 && pos_for_X[i][2]==1 && pos_for_X[i][3]==1)
    		{
    			win=1;
    			printf("\n\nRESULT: %s wins!!",name_X);
    			printf("\nPress any key............");
    			return;
    		}
    	}
    	for(i=1;i<=3;i++)
    	{
    		if(pos_for_X[1][i]==1 && pos_for_X[2][i]==1 && pos_for_X[3][i]==1)
    		{
    			win=1;
    			printf("\n\nRESULT: %s wins!!",name_X);
    			printf("\nPress any key............");
    			return;
    		}
    	}
    	if(pos_for_X[1][1]==1 && pos_for_X[2][2]==1 && pos_for_X[3][3]==1)
    	{
    		win=1;
    		printf("\n\nRESULTL: %s wins!!",name_X);
    		printf("\nPress any key......");
    		return;
    	}
    	else if(pos_for_X[1][3]==1 && pos_for_X[2][2]==1 && 
    pos_for_X[3][1]==1)
    	{
            	win=1;
    		printf("\n\nRESULT: %s wins!!",name_X);
                    printf("\nPress any key.....");
    		return;
    	}
    
            for(i=1;i<=3;i++)
    	{
    		if(pos_for_O[i][1]==1 && pos_for_O[i][2]==1 && pos_for_O[i][3]==1)
    		{
    			win=1;
    			printf("\n\nRESULT: %s wins!!",name_O);
                            printf("\nPress any key.....");
    			return;
    		}
    	}
    	for(i=1;i<=3;i++)
    	{
    		if(pos_for_O[1][i]==1 && pos_for_O[2][i]==1 && pos_for_O[3][i]==1)
    		{
    			win=1;
    			printf("\n\nRESULT: %s wins!!",name_O);
                            printf("\nPress any key.....");
    			return;
    		}
    	}
    	if(pos_for_O[1][1]==1 && pos_for_O[2][2]==1 && pos_for_O[3][3]==1)
    	{
    		win=1;
    		printf("\n\nRESULT: %s wins!!",name_O);
    		printf("\nPress any key.....");
    		return;
    	}
    	else if(pos_for_O[1][3]==1 && pos_for_O[2][2]==1 && 
    pos_for_O[3][1]==1)
    	{
            	win=1;
    		printf("\n\nRESULT: %s wins!!",name_O);
                    printf("\nPress any key.....");
    		return;
    	}
    }
    void check()
    {
    	int i,j;
    	for(i=1;i<=3;i++)
    	{
    		for(j=1;j<=3;j++)
    		{
    			if(pos_marked[i][j]==1)
    				chk++;
    			else
    				continue;
    		}
    	}
    }
    
    Give your views that how is it.
    did you like it
     
  2. NewsBot

    NewsBot New Member

    Joined:
    Dec 2, 2008
    Messages:
    1,267
    Likes Received:
    2
    Trophy Points:
    0
    You don't have a single line of comment and so first you should have them for your future understanding.
     
  3. HiprOyara

    HiprOyara Banned

    Joined:
    Jan 7, 2011
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    0
    Occupation:
    Ghana
    Location:
    Ghana
    Home Page:
    http://www.freesexvideos90.com
    hi guys

    **** love this forum
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice