home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
games
/
volume6
/
connect4
/
tables.h
< prev
next >
Wrap
Text File
|
1989-07-06
|
7KB
|
166 lines
u_char dist_counts[SQUARES] = {
3, 4, 5, 7, 5, 4, 3, /* Row 0 */
4, 6, 8, 10, 8, 6, 4, /* Row 1 */
5, 8, 11, 13, 11, 8, 5, /* Row 2 */
5, 8, 11, 13, 11, 8, 5, /* Row 3 */
4, 6, 8, 10, 8, 6, 4, /* Row 4 */
3, 4, 5, 7, 5, 4, 3 /* Row 5 */
};
u_char win_in_what[WINS][4] = {
{ 0, 1, 2, 3 }, /* Win 0 */
{ 1, 2, 3, 4 }, /* Win 1 */
{ 2, 3, 4, 5 }, /* Win 2 */
{ 3, 4, 5, 6 }, /* Win 3 */
{ 7, 8, 9, 10 }, /* Win 4 */
{ 8, 9, 10, 11 }, /* Win 5 */
{ 9, 10, 11, 12 }, /* Win 6 */
{ 10, 11, 12, 13 }, /* Win 7 */
{ 14, 15, 16, 17 }, /* Win 8 */
{ 15, 16, 17, 18 }, /* Win 9 */
{ 16, 17, 18, 19 }, /* Win 10 */
{ 17, 18, 19, 20 }, /* Win 11 */
{ 21, 22, 23, 24 }, /* Win 12 */
{ 22, 23, 24, 25 }, /* Win 13 */
{ 23, 24, 25, 26 }, /* Win 14 */
{ 24, 25, 26, 27 }, /* Win 15 */
{ 28, 29, 30, 31 }, /* Win 16 */
{ 29, 30, 31, 32 }, /* Win 17 */
{ 30, 31, 32, 33 }, /* Win 18 */
{ 31, 32, 33, 34 }, /* Win 19 */
{ 35, 36, 37, 38 }, /* Win 20 */
{ 36, 37, 38, 39 }, /* Win 21 */
{ 37, 38, 39, 40 }, /* Win 22 */
{ 38, 39, 40, 41 }, /* Win 23 */
{ 0, 7, 14, 21 }, /* Win 24 */
{ 1, 8, 15, 22 }, /* Win 25 */
{ 2, 9, 16, 23 }, /* Win 26 */
{ 3, 10, 17, 24 }, /* Win 27 */
{ 4, 11, 18, 25 }, /* Win 28 */
{ 5, 12, 19, 26 }, /* Win 29 */
{ 6, 13, 20, 27 }, /* Win 30 */
{ 7, 14, 21, 28 }, /* Win 31 */
{ 8, 15, 22, 29 }, /* Win 32 */
{ 9, 16, 23, 30 }, /* Win 33 */
{ 10, 17, 24, 31 }, /* Win 34 */
{ 11, 18, 25, 32 }, /* Win 35 */
{ 12, 19, 26, 33 }, /* Win 36 */
{ 13, 20, 27, 34 }, /* Win 37 */
{ 14, 21, 28, 35 }, /* Win 38 */
{ 15, 22, 29, 36 }, /* Win 39 */
{ 16, 23, 30, 37 }, /* Win 40 */
{ 17, 24, 31, 38 }, /* Win 41 */
{ 18, 25, 32, 39 }, /* Win 42 */
{ 19, 26, 33, 40 }, /* Win 43 */
{ 20, 27, 34, 41 }, /* Win 44 */
{ 0, 8, 16, 24 }, /* Win 45 */
{ 1, 9, 17, 25 }, /* Win 46 */
{ 2, 10, 18, 26 }, /* Win 47 */
{ 3, 11, 19, 27 }, /* Win 48 */
{ 3, 9, 15, 21 }, /* Win 49 */
{ 4, 10, 16, 22 }, /* Win 50 */
{ 5, 11, 17, 23 }, /* Win 51 */
{ 6, 12, 18, 24 }, /* Win 52 */
{ 7, 15, 23, 31 }, /* Win 53 */
{ 8, 16, 24, 32 }, /* Win 54 */
{ 9, 17, 25, 33 }, /* Win 55 */
{ 10, 18, 26, 34 }, /* Win 56 */
{ 10, 16, 22, 28 }, /* Win 57 */
{ 11, 17, 23, 29 }, /* Win 58 */
{ 12, 18, 24, 30 }, /* Win 59 */
{ 13, 19, 25, 31 }, /* Win 60 */
{ 14, 22, 30, 38 }, /* Win 61 */
{ 15, 23, 31, 39 }, /* Win 62 */
{ 16, 24, 32, 40 }, /* Win 63 */
{ 17, 25, 33, 41 }, /* Win 64 */
{ 17, 23, 29, 35 }, /* Win 65 */
{ 18, 24, 30, 36 }, /* Win 66 */
{ 19, 25, 31, 37 }, /* Win 67 */
{ 20, 26, 32, 38 } /* Win 68 */
};
u_char in_what_wins[] = {
0, 24, 45, -1, /* Square 0 */
0, 1, 25, 46, -1, /* Square 1 */
0, 1, 2, 26, 47, -1, /* Square 2 */
0, 1, 2, 3, 27, 48, 49, -1, /* Square 3 */
1, 2, 3, 28, 50, -1, /* Square 4 */
2, 3, 29, 51, -1, /* Square 5 */
3, 30, 52, -1, /* Square 6 */
4, 24, 31, 53, -1, /* Square 7 */
4, 5, 25, 32, 45, 54, -1, /* Square 8 */
4, 5, 6, 26, 33, 46, 49, 55, -1, /* Square 9 */
4, 5, 6, 7, 27, 34, 47, 50, 56, 57, -1, /* Square 10 */
5, 6, 7, 28, 35, 48, 51, 58, -1, /* Square 11 */
6, 7, 29, 36, 52, 59, -1, /* Square 12 */
7, 30, 37, 60, -1, /* Square 13 */
8, 24, 31, 38, 61, -1, /* Square 14 */
8, 9, 25, 32, 39, 49, 53, 62, -1, /* Square 15 */
8, 9, 10, 26, 33, 40, 45, 50, 54, 57, 63, -1, /* Square 16 */
8, 9, 10, 11, 27, 34, 41, 46, 51, 55, 58, 64, 65, -1, /* Square 17 */
9, 10, 11, 28, 35, 42, 47, 52, 56, 59, 66, -1, /* Square 18 */
10, 11, 29, 36, 43, 48, 60, 67, -1, /* Square 19 */
11, 30, 37, 44, 68, -1, /* Square 20 */
12, 24, 31, 38, 49, -1, /* Square 21 */
12, 13, 25, 32, 39, 50, 57, 61, -1, /* Square 22 */
12, 13, 14, 26, 33, 40, 51, 53, 58, 62, 65, -1, /* Square 23 */
12, 13, 14, 15, 27, 34, 41, 45, 52, 54, 59, 63, 66, -1, /* Square 24 */
13, 14, 15, 28, 35, 42, 46, 55, 60, 64, 67, -1, /* Square 25 */
14, 15, 29, 36, 43, 47, 56, 68, -1, /* Square 26 */
15, 30, 37, 44, 48, -1, /* Square 27 */
16, 31, 38, 57, -1, /* Square 28 */
16, 17, 32, 39, 58, 65, -1, /* Square 29 */
16, 17, 18, 33, 40, 59, 61, 66, -1, /* Square 30 */
16, 17, 18, 19, 34, 41, 53, 60, 62, 67, -1, /* Square 31 */
17, 18, 19, 35, 42, 54, 63, 68, -1, /* Square 32 */
18, 19, 36, 43, 55, 64, -1, /* Square 33 */
19, 37, 44, 56, -1, /* Square 34 */
20, 38, 65, -1, /* Square 35 */
20, 21, 39, 66, -1, /* Square 36 */
20, 21, 22, 40, 67, -1, /* Square 37 */
20, 21, 22, 23, 41, 61, 68, -1, /* Square 38 */
21, 22, 23, 42, 62, -1, /* Square 39 */
22, 23, 43, 63, -1, /* Square 40 */
23, 44, 64, -1 /* Square 41 */
};
u_short cum_index[SQUARES] = {
0, 4, 9, 15, 23, 29, 34, /* Squares 0 to 6 */
38, 43, 50, 59, 70, 79, 86, /* Squares 7 to 13 */
91, 97, 106, 118, 132, 144, 153, /* Squares 14 to 20 */
159, 165, 174, 186, 200, 212, 221, /* Squares 21 to 27 */
227, 232, 239, 248, 259, 268, 275, /* Squares 28 to 34 */
280, 284, 289, 295, 303, 309, 314 /* Squares 35 to 41 */
};
int next_in_col[COLUMNS] = {
35, 36, 37, 38, 39, 40, 41
};
int attack_good[] = {
0, 1, 25, 500, 100000
};
int defend_good[] = {
0, 1, 20, 400, 10000
};
char *experts[] = {
"tcjones",
"ljpoconnor",
"pjyamamoto",
"gjerawlins",
"jshen",
"rvklassen",
"vlestivill",
"rastroobossc",
""
};