split out is_winner() (thanks @imsickofmaps)