Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<conio.h>
- char matrix[3][3];
- void print();
- int check();
- int checkchar(char c);
- int main()
- {
- int i,j,a,b,checkresult,flag=0;
- for(i=0;i<3;i++)
- for(j=0;j<3;j++)
- matrix[i][j]=32;
- print();
- for(i=1;i<=9;i++)
- {
- printf("\n\n\n\n\nPlayer %d, Input new co-ordinates : ",(i%2)+2*(!(i%2)));
- do
- {
- scanf("%d",&a);
- scanf("%d",&b);
- fflush(stdin);
- if(a<1||a>3||b<1||b>3||(matrix[a-1][b-1]==88)||(matrix[a-1][b-1]==79))
- {
- printf("\n\aRe-input...\n");
- continue;
- }
- break;
- }
- while(1);
- matrix[a-1][b-1]=(i%2?88:79);
- print();
- checkresult=check();
- if(checkresult!=2)
- {
- flag=1;
- break;
- }
- }
- printf("\a");
- if(flag)
- {
- if(checkresult)
- printf("Player 2 is the winner!!!");
- else
- printf("Player 1 is the winner!!!");
- }
- else
- printf("Game drawn");
- getch();
- }
- void print()
- {
- short i;
- printf("\n\n\n\n\n");
- for(i=0;i<3;i++)
- {
- printf(" %c | %c | %c\n",matrix[i][0],matrix[i][1],matrix[i][2]);
- if(i!=2)
- {
- printf("-----------\n");
- }
- }
- }
- int check()
- {
- if(checkchar('X'))
- return 0;
- if(checkchar('O'))
- return 1;
- return 2;
- }
- int checkchar(char c)
- {
- int i,j,flag1,flag2;
- flag1=flag2=1;
- for(i=0;i<3;i++)
- {
- if(matrix[i][i]!=c)
- flag1=0;
- if(matrix[i][2-i]!=c)
- flag2=0;
- }
- if(flag1||flag2)
- return 1;
- for(i=0;i<3;i++)
- {
- flag1=flag2=1;
- for(j=0;j<3;j++)
- {
- if(matrix[i][j]!=c)
- flag1=0;
- if(matrix[j][i]!=c)
- flag2=0;
- if(!flag1&&!flag2)
- break;
- }
- if(flag1||flag2)
- return 1;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment