00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __goplayutils_h
00021 #define __goplayutils_h
00022
00023 #define iNil 32767
00024 #define maxGroup 512
00025 #define maxSPoint 16
00026 #define tryLimit 300
00027
00028 typedef short intBoard[19][19];
00029
00030 typedef short boolBoard[19][19];
00031
00032 typedef struct
00033 {
00034 short px, py;
00035 } point;
00036
00037 typedef struct
00038 {
00039 point p[401];
00040 short indx;
00041 } pointList;
00042
00043 typedef struct
00044 {
00045 point p[maxSPoint+1];
00046 short indx;
00047 } sPointList;
00048
00049 typedef struct
00050 {
00051 short indx,
00052 v[401];
00053 } intList;
00054
00055 typedef struct { short w, s, sm; } sgRec;
00056
00057 typedef struct
00058 {
00059 short groupMark,
00060 atLevel,
00061 isLive,
00062 isDead,
00063 libC,
00064 numEyes,
00065 size,
00066 lx, ly;
00067 } groupRec;
00068
00069 typedef enum {rem, add, chLib, reMap} playType;
00070
00071 typedef struct { short who, xl, yl, nextGID, sNumber; } remAddRec;
00072 typedef struct { short oldLC, oldLevel; } chLibRec;
00073 typedef struct { short oldGID; } reMapRec;
00074 typedef struct
00075 {
00076 short gID;
00077 playType kind;
00078 union {
00079 remAddRec rem, add;
00080 chLibRec chLib;
00081 reMapRec reMap;
00082 } uval;
00083 } playRec;
00084
00085 #endif