replace check_victory() with game_state() which differentiates between which player has one and also checks to see if there are no moves remaining
The make_board() function now returns a tuple with arrays
of row and column names. These are passed to parse_input()
to determine if the input contains a valid move.