pub struct BughouseMove { /* private fields */ }Expand description
Represent a ChessMove in memory
Implementations§
Source§impl BughouseMove
impl BughouseMove
Sourcepub fn new(source: Option<Square>, dest: Square, piece: Option<Piece>) -> Self
pub fn new(source: Option<Square>, dest: Square, piece: Option<Piece>) -> Self
Create a new chess move, given a source Square, a destination Square, and an optional
promotion Piece
Sourcepub fn get_source(&self) -> Option<Square>
pub fn get_source(&self) -> Option<Square>
Get the source square (square the piece is currently on).
pub fn to_chess_move(&self) -> Option<ChessMove>
Sourcepub fn from_ban(
board: &BughouseBoard,
move_text: &str,
) -> Result<BughouseMove, Error>
pub fn from_ban( board: &BughouseBoard, move_text: &str, ) -> Result<BughouseMove, Error>
Convert a “BAN”, Bughouse-extended (Standard) Algebraic Notation move
into a BughouseMove. e.g. drops: “p@f7”
use bughouse::{BughouseBoard, BughouseMove, Square};
let board = BughouseBoard::default();
assert_eq!(
BughouseMove::from_ban(&board, "e4").expect("e4 is valid in the initial position"),
BughouseMove::new(Some(Square::E2), Square::E4, None)
);Sourcepub fn from_drop_str(drop_str: &str) -> Option<Self>
pub fn from_drop_str(drop_str: &str) -> Option<Self>
Convert drop algebraic notation to BughouseMove e.g. drops: “p@f7”
pub fn from_chess_move(mv: &ChessMove) -> Self
Trait Implementations§
Source§impl Clone for BughouseMove
impl Clone for BughouseMove
Source§fn clone(&self) -> BughouseMove
fn clone(&self) -> BughouseMove
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BughouseMove
impl Debug for BughouseMove
Source§impl Default for BughouseMove
impl Default for BughouseMove
Source§fn default() -> BughouseMove
fn default() -> BughouseMove
Returns the “default value” for a type. Read more
Source§impl Display for BughouseMove
impl Display for BughouseMove
Source§impl FromStr for BughouseMove
Convert a BUCI, Bughouse-enabled UCI, move
impl FromStr for BughouseMove
Convert a BUCI, Bughouse-enabled UCI, move
use bughouse::{BughouseMove, Square, Piece};
use std::str::FromStr;
let mv = BughouseMove::new(Some(Square::E7), Square::E8, Some(Piece::Queen));
assert_eq!(BughouseMove::from_str("e7e8q").expect("Valid Move"), mv);Source§impl Hash for BughouseMove
impl Hash for BughouseMove
Source§impl PartialEq for BughouseMove
impl PartialEq for BughouseMove
Source§impl PartialOrd for BughouseMove
impl PartialOrd for BughouseMove
impl Copy for BughouseMove
impl Eq for BughouseMove
impl StructuralPartialEq for BughouseMove
Auto Trait Implementations§
impl Freeze for BughouseMove
impl RefUnwindSafe for BughouseMove
impl Send for BughouseMove
impl Sync for BughouseMove
impl Unpin for BughouseMove
impl UnwindSafe for BughouseMove
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more