/* header for game hex(hex.h) created in 2006.11.23 modified in 2006.11.27 modified in 2006.11.29 modified in 2006.12.5 modified in 2006.12.6 modified in 2006.12.21 by DEGUCHI Hiroshi */ #include #include #define BUFSIZE 255 #define MINSIZE (3+2) #define MAXSIZE (26+2) #define ERROR (-1) #define EMPTY 0 #define MARU 1 #define BATSU 2 #define B_MARU (MARU+2) #define B_BATSU (BATSU+2) #define MAXCHAR (B_BATSU+1) /*            */ /* hexgame.cで定義されているもの */ /*            */ /* 対戦関数と名前の登録 */ extern int (*hexgame[2])(); /*            */ /* hex.cで定義されているもの */ /*            */ /* 数値を表示用文字列に変換 */ extern char *digitcnv( int d ); /* 文字を表示用文字列に変換 */ extern char *charcnv( int c ); /* hex盤のサイズを求める */ /* [1,size]×[1,size] */ extern int getsize(); /* 相手(MARU⇔BATSU)を求める */ extern int counter( int part ); /* hex:(x,y)を求める ERROR(-1):異常終了、EMPTY,BARU,BATSU(0,1,2):正常終了 */ extern int gethex( int part, int x, int y ); /* hex:(x,y)をpartにする 1:正常終了、0:異常終了 */ extern int puthex( int part, int x, int y ); /* 人がプレーする(自分の関数をデバッグする)為の関数 part:MARU or BATSU (xc,yc):直前の相手の手、自分が先手のときは(0,0) msg:事前準備(part==EMPTY)のときは msg に自分の名前を名乗る  その他毎回のコメントを msg に設定しても良い、無いときは0 戻り値  0:降参、1:正常終了 */ extern int human( int part, int xc, int yc, char **msg ); /* 乱数でプレーする関数 part:MARU or BATSU (xc,yc):直前の相手の手、自分が先手のときは(0,0) msg:事前準備(part==EMPTY)のときは msg に自分の名前を名乗る  その他毎回のコメントを msg に設定しても良い、無いときは0 戻り値  0:降参、1:正常終了 */ extern int p_rand( int part, int xc, int yc, char **msg ); /* end of hex.h */