pub(crate) fn check_player_has_won(&self, player: Player, win_pattern: WinPattern) -> bool {
        let cells: [Cell; 3] = win_pattern.into();

        cells.iter().all(|c| self.has_player_set_cell(player, *c))
    }
/// Applies a [WinPattern] over the cells for a given player.
///
/// This is achieved by converting the [WinPattern] to a triple of Cells,
/// iterating over each and checking if the player set all of those cells
Applies a [WinPattern] over the cells for a given player.
This is achieved by converting the [WinPattern] to a triple of Cells,
iterating over each and checking if the player set all of those cells
Applies a [ WinPattern ] over the cells for a given player . This is achieved by converting the [ WinPattern ] to a triple of Cells iterating over each and checking if the player set all of those cells
pub(crate) fn check_player_has_won(&self, player: Player, win_pattern: WinPattern) -> bool {
        let cells: [Cell; 3] = win_pattern.into();
        cells.iter().all(|c| self.has_player_set_cell(player, *c))
    }
pub ( crate ) fn check_player_has_won ( & self , player : Player , win_pattern : WinPattern ) -> bool { let cells : [ Cell ; 3 ] = win_pattern . into ( ) ; cells . iter ( ) . all ( | c | self . has_player_set_cell ( player , * c ) ) }
Applies a [WinPattern] over the cells for a given player.
Applies a [ WinPattern ] over the cells for a given player .
&self
player
Player
win_pattern
WinPattern