keep num_occupied_squares_by_color_and_type updated with doMove