pub fn winner(self) -> Option<Player> {
        if !self.is_finished() {
            return None;
        }

        let score = self.board.score_absolute_difference();
        if score == 0 {
            None
        } else if score > 0 {
            Some(self.active_player)
        } else {
            Some(!self.active_player)
        }
    }
/// Compute the winner of the game, or None if the game is not finished or the result is a draw.
Compute the winner of the game, or None if the game is not finished or the result is a draw.
Compute the winner of the game or None if the game is not finished or the result is a draw .
pub fn winner(self) -> Option<Player> {
        if !self.is_finished() {
            return None;
        }
        let score = self.board.score_absolute_difference();
        if score == 0 {
            None
        } else if score > 0 {
            Some(self.active_player)
        } else {
            Some(!self.active_player)
        }
    }
pub fn winner ( self ) -> Option < Player > { if ! self . is_finished ( ) { return None ; } let score = self . board . score_absolute_difference ( ) ; if score == 0 { None } else if score > 0 { Some ( self . active_player ) } else { Some ( ! self . active_player ) } }
Compute the winner of the game, or None if the game is not finished or the result is a draw.
Compute the winner of the game or None if the game is not finished or the result is a draw .
self
self