#include #include #include #define ROW 9 #define COL 9 #define MINES 10 void Display(char dis[][COL]); void randMines(char prim[][COL]); char getLetter(int flagCounter); int getRowCol(); void open(char primary[][COL],char display[][COL],int m, int n); void checkEnd( char primary[][COL], char display[][COL]); int main() { int flagCounter=0; char primary[ROW][COL]; char display[ROW][COL]; int i; int j; char inputCh; int inputRow; int inputCol; srand((int)time(0)); for(i=0;i9)) { printf("wrong input, retype\n"); if(scanf("%d", &num)!=1){ printf("input error\n"); exit(1); } } return num; } void open(char primary[][COL],char display[][COL],int m, int n) { int count=0; static int mone=0; if((primary[m-1][n-1]=='X')&&(mone==0)){ printf("you lose\n the field was:\n"); Display(primary); exit(1); } mone++; if((m-2>=0)&&(n-2>=0)) { if(primary[m-2][n-2]=='X'){ count++; } } if((m-2>=0)&&(n-1>=0)) { if(primary[m-2][n-1]=='X'){ count++; } } if((m-2>=0)&&(n>=0)) { if(primary[m-2][n]=='X'){ count++; } } if((m-1>=0)&&(n-2>=0)) { if(primary[m-1][n-2]=='X'){ count++; } } if((m-1>=0)&&(n>=0)) { if(primary[m-1][n]=='X'){ count++; } } if((m>=0)&&(n-2>=0)) { if(primary[m][n-2]=='X'){ count++; } } if((m>=0)&&(n-1>=0)) { if(primary[m][n-1]=='X'){ count++; } } if((m>=0)&&(n>=0)) { if(primary[m][n]=='X'){ count++; } } if(count==0) { if((m-2>=0)&&(n-2>=0)){ open(primary, display,m-2,n-2); } if((m-2>=0)&&(n-1>=0)){ open(primary, display,m-2,n-1); } if((m-2>=0)&&(n>=0)){ open(primary, display, m-2,n); } if((m-1>=0)&&(n-2>=0)){ open(primary, display,m-1,n-2); } if((m-1>=0)&&(n>=0)){ open(primary,display, m-1,n); } if((m>=0)&&(n-2>=0)){ open(primary, display,m,n-2); } if((m>=0)&&(n-1>=0)){ open(primary, display,m,n-1); } if((m>=0)&&(n>=0)){ open(primary, display,m,n); } } else { display[m-1][n-1]=((char)(count+'0')); } return; } void checkEnd( char primary[][COL], char display[][COL]) { int i; int j; int count=0; for(i=0; i