#ifndef WEB_MATCH_H #define WEB_MATCH_H #include "match.h" enum match_mode { M_FIRST = 1, M_PVC = M_FIRST, M_P, M_PVP, M_CVC, M_PVPVP, M_LAST = M_PVPVP }; enum player_type { PT_USER, PT_COMP }; struct match_state { int id; enum match_mode mode; struct leg **legs; enum player_type *player_types; int *comp_undone; int num_players, size_players; int active_player; int num_darts; }; struct match_opts { enum match_mode mode; enum player_type p1_type, p2_type; char *p1_name, *p2_name; int start_pts; int throws_first; }; extern struct match_state *state; extern struct match_opts *match_opts; void match_new(); void match_add_player(int start_pts, enum player_type type, char *name); void free_state(); void match_opts_free(); struct leg *state_active_leg(); int match_num_players(); int match_winning_player(); bool match_is_over(); int match_prev_player(); int match_next_player(); int match_prev_throw_player(); bool match_player_is_comp(int pn); bool match_first_user_has_thrown(); #endif