Enum open_ttt_lib::game::State [−][src]
pub enum State { PlayerXMove, PlayerOMove, PlayerXWin(HashSet<Position>), PlayerOWin(HashSet<Position>), CatsGame, }
Expand description
Indicates the state of the game.
The set of positions provided to PlayerXWin
and PlayerOWin
contain all the
positions that contributed to the victory. Usually, this will be positions
representing a row, column, or diagonal. However, there are some situations
where more than one row, column, or diagonal contributed to a victory.
Variants
Player X’s turn to mark a free position.
Player O’s turn to mark a free position.
Player X has won the game. The set of positions that contributed to the win are provided as the enum value.
Player O has won the game. The set of positions that contributed to the win are provided as the enum value.
The game has ended in a draw where there are no winners.
Implementations
impl State
[src]
impl State
[src]pub fn is_game_over(&self) -> bool
[src]
pub fn is_game_over(&self) -> bool
[src]Indicates if the state represents one of the game over states.
If either player has won or it is a cat’s game then true
is returned;
otherwise, false
is returned.
Examples
use open_ttt_lib::game; assert!(!game::State::PlayerXMove.is_game_over()); assert!(game::State::CatsGame.is_game_over());
Trait Implementations
impl Eq for State
[src]
impl StructuralEq for State
[src]
impl StructuralPartialEq for State
[src]
Auto Trait Implementations
impl RefUnwindSafe for State
impl Send for State
impl Sync for State
impl Unpin for State
impl UnwindSafe for State
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,