fn simulate(&self) -> Option<G::Player> {
        // Create a copy of the current state to simulate
        let mut state = self.state.clone();

        while !state.over() {
            // Policy: select a random move
            let action = state
                .turns()
                .choose(&mut rand::thread_rng())
                .unwrap()
                .clone();
            state.play(action);
        }

        state.winner()
    }
/// Simulate the game from this node.
Simulate the game from this node.
Simulate the game from this node .
fn simulate(&self) -> Option<G::Player> {
        // Create a copy of the current state to simulate
        let mut state = self.state.clone();
        while !state.over() {
            // Policy: select a random move
            let action = state
                .turns()
                .choose(&mut rand::thread_rng())
                .unwrap()
                .clone();
            state.play(action);
        }
        state.winner()
    }
fn simulate ( & self ) -> Option < G :: Player > { // Create a copy of the current state to simulate let mut state = self . state . clone ( ) ; while ! state . over ( ) { // Policy: select a random move let action = state . turns ( ) . choose ( & mut rand :: thread_rng ( ) ) . unwrap ( ) . clone ( ) ; state . play ( action ) ; } state . winner ( ) }
Simulate the game from this node.
Simulate the game from this node .
&self
&self