Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int intBoard(char *ary,char *symbs)
- {
- int i,j;
- for(i=0;i<3;i++){
- for(j=0;j<3;j++){
- ary[(i*3)+j]=symbs[2];
- }
- printf("\n");
- }
- return 0;
- }
- int drawBoard(char *ary)
- {
- int i,j;
- for(i=0;i<3;i++){
- for(j=0;j<3;j++){
- printf("%c",ary[(i*3)+j]);
- }
- printf("\n");
- }
- return 0;
- }
- int placeBoard(char *ary,char *symbs,int turn)
- {
- int i,j;
- char chkme;
- scanf("%d-%d",&i,&j);
- i--;
- j--;
- chkme=ary[(j*3)+i];
- if(chkme==symbs[2] && i<=2 && i>=0 && j<=2 && j>=0){
- ary[(j*3)+i]=symbs[turn];
- return 0;
- }else{
- printf("Illegal move.\n");
- return 1;
- }
- }
- int nextPlayer(int i){
- int z=(i+1)%2;
- return z;
- }
- int chkbrd(char *ary,char *symbs){
- int i;
- for(i=0;i<3;i++){
- if(ary[i]==ary[i+3] && ary[i]==ary[i+6] && ary[i]!=symbs[2]){
- decwin=1;
- win=ary[i];
- }
- }
- for(i=0;i<9;i+=3){
- if(ary[i]==ary[i+1] && ary[i]==ary[i+2] && ary[i]!=symbs[2]){
- decwin=1;
- win=ary[i];
- }
- }
- if(ary[0]==ary[4] && ary[0]==ary[8] && ary[i]!=symbs[2]){
- decwin=1;
- win=ary[0];
- }
- if(ary[2]==ary[4] && ary[2]==ary[8] && ary[i]!=symbs[6]){
- decwin=1;
- win=ary[2];
- }
- if(decwin==1){
- if(win==symbs[0]){
- return 0;
- }
- if(win==symbs[1]){
- return 1;
- }
- return -1;
- }
- }
- int main(void)
- {
- int wins=-1;
- int turn=0;
- char brd[9];
- char symbs[3]={'o','x','-'};
- char nme[2][30];
- int bye=1;
- scanf("%s",&nme[0]);
- scanf("%s",&nme[1]);
- intBoard(brd,symbs);
- while(bye==1){
- drawBoard(brd);
- printf("%s turn to move.\n",nme[turn]);
- while(placeBoard(brd,symbs,turn)!=0);
- turn=nextPlayer(turn);
- wins=chkbrd(brd,symbs);
- if(wins!=-1){
- printf("%s has won the game",nme[wins]);
- }
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement