Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- void main(void)
- {
- int matrix[3][3]={0},
- i, //לולאה ראשית
- j, k, //תת לולאות לבדיקת המנציח
- x, y, //מספר אקראי
- won=1;
- char X[2]="X", O[2]="O", E[2]="-",
- c1, c2;//קליטת מקום
- srand(time(NULL));
- printf("Tic Tac toe game board : \n");
- for(i=0; i<3; i++)
- {
- for(j=0; j<3; j++) printf("[%2d,%2d]", i, j);
- printf("\n");
- }
- printf("\nYou're going to play as X : \n");
- for(i=0; i<9, won; i++)
- {
- srand(time(NULL));
- printf("Please choose your X location : ");
- _flushall();
- c1=getche();
- printf(",");
- _flushall();
- c2=getche();
- while(matrix[c1-'0'][c2-'0'] == 1 || matrix[c1-'0'][c2-'0'] == 2)//לבדוק אם המקום פנוי
- {
- printf("\nError, full place\n");
- _flushall();
- printf("Please choose your X location : ");
- c1=getche();
- printf(",");
- _flushall();
- c2=getche();
- }
- matrix[c1-'0'][c2-'0'] = 1;//ערך X
- printf("\n");
- for(k=0; k<3; k++)
- {
- for(j=0; j<3; j++)
- {
- switch(matrix[k][j])
- {
- case 0: printf("%s", E); break;
- case 1: printf("%s", X); break;
- case 2: printf("%s", O); break;
- }
- }
- printf("\n");
- }
- /*won by columns*/
- for(k=0; k<3; k++)
- {
- for(j=0; j<1; j++)
- if(matrix[j][k] == 1 && matrix[j+1][k] == 1 && matrix[j+2][k] == 1) won = 0;
- }
- if(!won) { printf("Column : X won\n"); break; }
- /*won by rows*/
- for(k=0; k<3; k++)
- {
- for(j=0; j<1; j++)
- if(matrix[k][j] == 1 && matrix[k][j+1] == 1 && matrix[k][j+2] == 1) won = 0;
- }
- if(!won) { printf("Row : X won\n"); break; }
- /*won by left linear*/
- for(k=0; k<1; k++)
- {
- if(matrix[k][k] == 1 && matrix[k+1][k+1] == 1 && matrix[k+2][k+2] == 1) won = 0;
- }
- if(!won) { printf("Left Linear : X won\n"); break; }
- /*won by right linear*/
- for(k=0; k<1; k++)
- {
- if(matrix[k+2][k] == 1 && matrix[k+1][k+1] == 1 && matrix[k][k+2] == 1) won = 0;
- }
- if(!won) { printf("Right Linear : X won\n"); break; }
- printf("Your enemy is playing..\n");
- x = rand()%3;
- y = rand()%3;
- while(matrix[x][y] > 0)
- {
- x = rand()%3;
- y = rand()%3;
- }
- printf("Enemy location : %d,%d\n", x, y);
- matrix[x][y]=2;
- for(k=0; k<3; k++)
- {
- for(j=0; j<3; j++)
- {
- switch(matrix[k][j])
- {
- case 0: printf("%s", E); break;
- case 1: printf("%s", X); break;
- case 2: printf("%s", O); break;
- }
- }
- printf("\n");
- }
- /*won by columns*/
- for(k=0; k<3; k++)
- {
- for(j=0; j<1; j++)
- if(matrix[j][k] == 2 && matrix[j+1][k] == 2 && matrix[j+2][k] == 2) won = 0;
- }
- if(!won) { printf("Column : Y won\n"); break; }
- /*won by rows*/
- for(k=0; k<3; k++)
- {
- for(j=0; j<1; j++)
- if(matrix[k][j] == 2 && matrix[k][j+1] == 2 && matrix[k][j+2] == 2) won = 0;
- }
- if(!won) { printf("Row : Y won\n"); break; }
- /*won by left linear*/
- for(k=0; k<1; k++)
- {
- if(matrix[k][k] == 2 && matrix[k+1][k+1] == 2 && matrix[k+2][k+2] == 2) won = 0;
- }
- if(!won) { printf("Left Linear : Y won\n"); break; }
- /*won by right linear*/
- for(k=0; k<1; k++)
- {
- if(matrix[k+2][k] == 2 && matrix[k+1][k+1] == 2 && matrix[k][k+2] == 2) won = 0;
- }
- if(!won) { printf("Right Linear : Y won\n"); break; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement