Wednesday, 3 April 2013

2 Player Tic Tac Toe game! (C-language)

#include <stdio.h>
#include <stdlib.h>
#include<string.h>

char A[9]={' ' ,' ',' ',' ',' ',' ',' ',' ',' ',};
 void draw();
int main()
{
    int i,j,n,p=0;
    int status=1;
    char a[20],b[20];
    clrscr();
    printf("First player name:");
    scanf("%s",a);
    strupr(a);
    printf("Second player name:");
    scanf("%s",b);
    strupr(b);
    clrscr();
    printf("The numbers below represent the point no.\n\n");
    printf("1 | 2 | 3\n_________\n4 | 5 | 6\n_________\n7 | 8 | 9");


    for(i=0;i<9;i++)
    {
    char s;
    if(status==1)
    printf("\n\n%s\t",a);
    else
    printf("\n\n%s\t",b);
    printf("Enter the point:\n");
    scanf("%d",&n);
    n=n-1;
    if((A[n]!='X'&&A[n]!='O')&&n<9)
    {
        if(status==1)
        {
        A[n]='X';
        status=0;
        s='X';
        }
        else
        {
        A[n]='O';
        status=1;
        s='O';
        }
    }
    else
    {
        i--;
        if(n<9)
        {
        printf("\nCan't replace the previous entry\n");
        }
        else
        {
        printf("\nEnter number between 1-9\n");
        }
    }


    if(A[0]==s &&(A[4]==s &&A[8]==s))
    {
       p=1;
       break;
    }
       else if(A[2]==s &&(A[4]==s &&A[6]==s)){
       p=1;break;
       }
       else if(A[0]==s &&(A[3]==s &&A[6]==s)){
       p=1;break;

       }
       else if(A[1]==s &&(A[4]==s &&A[7]==s)){
       p=1;break;
       }
       else if(A[2]==s &&(A[5]==s &&A[8]==s)){
       p=1;break;
       }
       else if(A[0]==s &&(A[1]==s &&A[2]==s)){
       p=1;break;
       }
       else if(A[3]==s &&A[4]==s &&A[5]==s){
       p=1;break;
       }
       else if(A[6]==s &&A[7]==s &&A[8]==s){
       p=1;break;
       }
       else
       draw();
    }
    if(p==1)
    {
    if(A[n]=='x')
    printf("\n\t\tThe winner is %s \n\n",b);
    else
    printf("\n\t\tThe winner is %s \n\n",a);
    draw();
    getch();

    }
    else
    printf("\n\t\t\Draw Match\n\n");

    getch();
    return 0;
}
void draw()
{
    printf("\t\t%c | %c | %c \t\t1 | 2 | 3 \n\t\t_________\n\t\t%c | %c | %c \t\t4 | 5 | 6 \n\t\t_________\n\t\t%c | %c | %c \t\t7 | 8 | 9 \n",A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8]);
}


  

No comments:

Post a Comment