1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
--- a/allow.c
+++ b/allow.c
@@ -34,6 +34,8 @@
MOVE current_move[4] = {{0, 0}, {0, 0},
{0, 0}, {0, 0}}; /* global only for un_do() */
+MOVE possible_moves[8000], *list;
+
int test_move (void);
int create_possible_moves (int dice_to_set, int *w, int actual_pin);
int move_is_allowed (int from_pin, int to_pin);
--- a/gammon.h
+++ b/gammon.h
@@ -117,12 +117,14 @@
MoveFunc MoveFunction;
BOARD board;
X11SET X11Set;
-} Player[2];
+};
+extern struct _Player Player[2];
struct _PinTable {
int count;
int color;
-} Pin[29], rollout_position[29]; /* 0, 25 = bar, 1 - 24 = board and 26, 27 finished[color] */
+};
+extern struct _PinTable Pin[29], rollout_position[29]; /* 0, 25 = bar, 1 - 24 = board and 26, 27 finished[color] */
/* if you have the dice values 1 and 1 and all stones are on different
@@ -137,7 +139,7 @@
int to;
} MOVE;
-MOVE possible_moves[8000], *list;
+extern MOVE possible_moves[8000], *list;
struct _move_hist {
int from [4];
@@ -151,16 +153,17 @@
struct _Tournament {
unsigned int game_number;
unsigned int winning_point;
-} tournament;
+};
+extern struct _Tournament tournament;
struct _RolloutSave {
int turn;
int doubler_value;
int doubler_owner;
int roll[2];
-} rollout_save;
+};
-FILE *endgame_database;
+extern FILE *endgame_database;
extern void switch_turn();
--- a/rollout.c
+++ b/rollout.c
@@ -48,6 +48,9 @@
void rollout_roll_dice ();
void exec_rollout ();
+struct _PinTable Pin[29], rollout_position[29];
+struct _RolloutSave rollout_save;
+
void RollOut (void)
{
Widget toplevel = Player[0].X11Set.toplevel;
--- a/xgammon.c
+++ b/xgammon.c
@@ -178,6 +178,10 @@
MOVE *compi_choice;
FILE* protokol_file = NULL;
+FILE* endgame_database;
+struct _gammon_resource gammon_resource;
+struct _Tournament tournament;
+struct _Player Player[2];
char * greetings = "Wellcome to xgammon version 0.98\n (C) 1994 Lambert Klasen Detlef Steuer\n We hope you enjoy it\n\n";
--- a/xgammon.h
+++ b/xgammon.h
@@ -70,7 +70,8 @@
char *server;
int port;
int button_move;
-} gammon_resource;
+};
+extern struct _gammon_resource gammon_resource;
/* diawin.c */
extern void AppendDialogText ();
|