Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.68 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int intBoard(char *ary,char *symbs)
  4. {
  5.     int i,j;
  6.     for(i=0;i<3;i++){
  7.         for(j=0;j<3;j++){
  8.             ary[(i*3)+j]=symbs[2];
  9.         }
  10.         printf("\n");
  11.     }
  12.     return 0;
  13. }
  14.  
  15. int drawBoard(char *ary)
  16. {
  17.     int i,j;
  18.     for(i=0;i<3;i++){
  19.         for(j=0;j<3;j++){
  20.             printf("%c",ary[(i*3)+j]);
  21.         }
  22.         printf("\n");
  23.     }
  24.     return 0;
  25. }
  26.  
  27. int placeBoard(char *ary,char *symbs,int turn)
  28. {
  29.     int i,j;
  30. char chkme;
  31.     scanf("%d-%d",&i,&j);
  32.     i--;
  33.     j--;
  34.     chkme=ary[(j*3)+i];
  35.     if(chkme==symbs[2] && i<=2 && i>=0 && j<=2 && j>=0){
  36.         ary[(j*3)+i]=symbs[turn];
  37.         return 0;
  38.     }else{
  39. printf("Illegal move.\n");
  40.     return 1;
  41.     }
  42.  
  43. }
  44.  
  45. int nextPlayer(int i){
  46.     int z=(i+1)%2;
  47.     return z;
  48. }
  49.  
  50. int chkbrd(char *ary,char *symbs){
  51.     int i;
  52. for(i=0;i<3;i++){
  53. if(ary[i]==ary[i+3] && ary[i]==ary[i+6] && ary[i]!=symbs[2]){
  54. decwin=1;
  55. win=ary[i];
  56. }
  57. }
  58.  
  59.  
  60. for(i=0;i<9;i+=3){
  61. if(ary[i]==ary[i+1] && ary[i]==ary[i+2] && ary[i]!=symbs[2]){
  62. decwin=1;
  63. win=ary[i];
  64. }
  65. }
  66.  
  67. if(ary[0]==ary[4] && ary[0]==ary[8] && ary[i]!=symbs[2]){
  68. decwin=1;
  69. win=ary[0];
  70. }
  71.  
  72. if(ary[2]==ary[4] && ary[2]==ary[8] && ary[i]!=symbs[6]){
  73. decwin=1;
  74. win=ary[2];
  75. }
  76.  
  77. if(decwin==1){
  78.     if(win==symbs[0]){
  79.         return 0;
  80.     }
  81.     if(win==symbs[1]){
  82.         return 1;
  83.     }
  84. return -1;
  85. }
  86. }
  87.  
  88. int main(void)
  89. {
  90. int wins=-1;
  91. int turn=0;
  92. char brd[9];
  93. char symbs[3]={'o','x','-'};
  94. char nme[2][30];
  95. int bye=1;
  96.  
  97. scanf("%s",&nme[0]);
  98.  
  99. scanf("%s",&nme[1]);
  100. intBoard(brd,symbs);
  101. while(bye==1){
  102. drawBoard(brd);
  103. printf("%s turn to move.\n",nme[turn]);
  104. while(placeBoard(brd,symbs,turn)!=0);
  105. turn=nextPlayer(turn);
  106. wins=chkbrd(brd,symbs);
  107. if(wins!=-1){
  108. printf("%s has won the game",nme[wins]);
  109. }
  110. }
  111.  
  112. system("pause");
  113. return 0;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement