home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
games
/
volume13
/
xmake5
/
part02
/
bdconst.h
next >
Wrap
C/C++ Source or Header
|
1992-01-13
|
2KB
|
74 lines
// FILE: bdconst.h
const int
max_side_lev = 31 , max_index = 496 ,
max_line_lev = 20 , max_pt_lev = 27 ,
wall = '#', blank = '.' , black = 'X' , white = 'O' ,
bdwidth = 21 , bdlength = 440 ;
extern const int weight5[5], dirx[8];
const int x_index_range = bdlength+1;
typedef int x_index; // 0..bdlength ;
typedef char side_lev_range; // 0..max_side_lev ;
typedef int line_index; // 0..max_index ;
typedef char line_lev_range; // 1..max_line_lev ;
typedef char pt_lev_range; // 1..max_pt_lev ;
typedef line_lev_range line_val_type[max_index+1];
extern int weight31[31];
typedef struct pt_lev_record_tag {
int pc[2][max_pt_lev+1];
int mp[2]; // { 1..max_pt_lev }
} pt_lev_record;
typedef struct bdstatus_type_tag {
side_lev_range side_lev[x_index_range][2][8];
line_lev_range line_lev[x_index_range][2][4];
pt_lev_range point_lev[x_index_range][2];
pt_lev_record pt_lev_rec;
} bdstatus_type;
extern int min_depth,max_depth; // depths of MIN/MAX search
extern const pt_lev_range point_lev_tab[max_line_lev+1][max_line_lev+1];
// initialized in "initbd.C"
typedef struct update_record_tag {
int side_lev, line_lev;
pt_lev_range point_lev;
} update_record[2][8][5] ; // array[1..2,-4..4,1..5]
extern char board[x_index_range];
extern bdstatus_type bdstatus;
extern int player;
extern char player_color[2];
extern int step;
#define x_col(x) (x % bdwidth)
#define x_row(x) (x / bdwidth)
#define dec(x) ((x)--)
#define inc(x) ((x)++)
//---------------------------------------------------------------------------
// Procedures defined in "initbd.C"
extern void init_bdstatus(void);
extern int get_side_lev(int x,int d,char c);
extern void set_side_lev(int x);
extern void set_line_lev(int x,int c,int d);
extern void set_point_lev(int x, int c);
//---------------------------------------------------------------------------
// Procedures defined in "make5.C"
extern void update_board(int sw, int x, update_record *z, pt_lev_record *pt);
extern void restore(int x, update_record *z, pt_lev_record *pt);
extern update_record *new_update_record(void);
extern pt_lev_record *new_pt_lev_record(void);
//---------------------------------------------------------------------------