player_color
int makemove(player_color, spot_index);
spot_index pickmove(player_color);
set_input_sources(enum input_source *input, player_color color)
declare_winner(int outcome, const enum input_source *input, player_color color)
player_color winner;
player_color color = BLACK;
player_color color;
player_color them = us != BLACK ? BLACK : WHITE;
makemove(player_color us, spot_index mv)
player_color them = us != BLACK ? BLACK : WHITE;
better(spot_index as, spot_index bs, player_color us)
player_color them = us != BLACK ? BLACK : WHITE;
static player_color curcolor; /* implicit parameter to makecombo() */
four_in_a_row(player_color color, spot_index s, direction r)
scanframes(player_color color)
player_color c = curcolor;
static player_color nextcolor; /* color of next move */
static bool better(spot_index, spot_index, player_color);
static void scanframes(player_color);
static void updatecombo(struct combostr *, player_color);
pickmove(player_color us)
updatecombo(struct combostr *cbp, player_color color)