n.y كاربر خيلي فعال
تعداد پستها : 351 Join date : 2009-12-24 Age : 36
| Subject: بازي دوز 30/1/2010, 20:24 | |
| بازي دوز در زبان C - Code:
-
*/ ============== Program Description ============= */ /* program : TicTacToe */ /* */ /* ======================================== */ #include <stdio.h> #include <conio.h> int sw=0; void fill_array (char A[3][3]); void display(char A[3][3]); void process(char A[3][3]); void main () { clrscr(); char A[3][3]={'1','2','3','4','5','6','7','8','9'}; fill_array(A);
} //********************************************************** void fill_array (char A[3][3]) { int n,i,y,x; char ch; for(i=0;i<9;i++) { clrscr(); display(A); if(sw==0){ printf ("\n Please enter number of (1-9):"); scanf ("%d",&n); printf("\n Please enter char + or -:"); ch=getche(); getch(); if(ch!='+' && ch!='-') { i--; printf("\n\n Char is not valid "); getch(); continue; } switch (n) { case 1 : if (A[0][0]!='+'&& A[0][0]!='-') A[0][0]=ch; break; case 2 : if (A[0][1]!='+'&& A[0][1]!='-') A[0][1]=ch; break; case 3 : if (A[0][2]!='+'&& A[0][2]!='-') A[0][2]=ch; break; case 4 : if (A[1][0]!='+'&& A[1][0]!='-') A[1][0]=ch; break; case 5 : if (A[1][1]!='+'&& A[1][1]!='-') A[1][1]=ch; break; case 6 : if (A[1][2]!='+'&& A[1][2]!='-') A[1][2]=ch; break; case 7 : if (A[2][0]!='+'&& A[2][0]!='-') A[2][0]=ch; break; case 8 : if (A[2][1]!='+'&& A[2][1]!='-') A[2][1]=ch; break; case 9 : if (A[2][2]!='+'&& A[2][2]!='-') A[2][2]=ch; break; default: printf("\n\n Number is not valid"); getch(); i--; } display(A); clrscr(); display(A); process(A); } } } //************************************** void display(char A[3][3]) { int i,j,k; for(i=0;i<3;i++) { printf("\n---------------\n" ); for(j=0;j<3;j++) printf("| %c |",A[i][j]); } printf("\n---------------" ); } //***********************--********************* void process(char A[3][3]) { int i,j,t1,t2; for (i=0;i<3;i++) { t1=0; t2=0; for (j=0;j<3;j++) if (A[i][j]=='+') t1++; else if(A[i][j]=='-') t2++; if (t1==3) { printf("\n + is win "); getch(); sw=1; break; } if (t2==3) { printf("\n - is win "); getch(); sw=1; break; } } //**********************|*************************** for (j=0;j<3;j++) { t1=0; t2=0; for (i=0;i<3;i++) if (A[i][j]=='+') t1++; else if(A[i][j]=='-') t2++; if (t1==3) { printf("\n + is win "); getch(); sw=1; break; } if (t2==3) { printf("\n - is win "); getch(); sw=1; break; } } //************************\**************************** t1=0; t2=0; for (i=0;i<3;i++) { for (j=0;j<3;j++) if (i==j && A[i][j]=='+') t1++; else if(i==j && A[i][j]=='-') t2++; if (t1==3) { printf("\n + is win "); getch(); sw=1; break; } if (t2==3) { printf("\n - is win "); getch(); sw=1; break; } } //************************/*********************** t1=0; t2=0; if (A[0][2]=='+') t1++; else if(A[0][2]=='-') t2++; if (A[1][1]=='+') t1++; else if(A[1][1]=='-') t2++; if (A[2][0]=='+') t1++; else if(A[2][0]=='-') t2++; if (t1==3) { printf("\n + is win "); getch(); sw=1; } if (t2==3) { printf("\n - is win "); getch(); sw=1; } }
| |
|