outcome
declare_winner(int outcome, const enum input_source *input, player_color color)
switch (outcome) {
static struct outcome
int outcome;
if ((outcome = makemove(color, curmove)) != MOVEOK)
return (struct outcome){ outcome, color };
struct outcome outcome = main_game_loop(input);
declare_winner(outcome.result, input, outcome.winner);
if (outcome.result != RESIGN) {