#include #include #include #include #include #include #include "c:\sunilg~1\tc\sam\mouse.cpp" #define YES 1 #define NO 0 #define XPX 15 /* X pixels by square */ #define YPX 15 /* Y pixels by square */ #define DEFCX 30 /* Default number of squares */ #define DEFCY 28 #define MINE 255-'0' /* So that when it prints, it prints char 0xff */ #define STSQUARE struct stsquare STSQUARE { unsigned char value; /* Number of mines in the surround squares */ unsigned char sqopen; /* Square is open */ unsigned char sqpress; /* Square is pressed */ unsigned char sqmark; /* Square is marked */ } *psquare; #define value(x,y) (psquare+(x)*ncy+(y))->value #define sqopen(x,y) (psquare+(x)*ncy+(y))->sqopen #define sqpress(x,y) (psquare+(x)*ncy+(y))->sqpress #define sqmark(x,y) (psquare+(x)*ncy+(y))->sqmark int XST, /* Offset of first pixel X */ YST, ncx, /* Number of squares in X */ ncy, cmines, /* Mines discovered */ initmines, /* Number of initial mines */ sqclosed, /* Squares still closed */ maxy; /* Max. number of y pixels of the screen */ void Graph_init(void); void Read_param(int argc, char *argv[]); void Set_mines(int nminas); void Set_sq