extern crate das_grid;
#[derive(Clone, Copy, PartialEq, Eq)]
enum Pawn {
None,
Player,
}
impl std::fmt::Display for Pawn {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match *self {
Pawn::None => write!(f, "None"),
Pawn::Player => write!(f, "Player"),
}
}
}
fn main() -> Result<(), das_grid::GridErr> {
let mut g: das_grid::Grid<Pawn> = das_grid::Grid::new(2, 2, Pawn::None);
g.set((0, 0), &Pawn::Player)?;
println!("Initial state {:?}\n", g);
if let Ok(()) = g.mov_to((0, 0), das_grid::MoveDirection::Right) {
println!("The pawn on 0, 1 is {}\n", g.get((0, 1)).unwrap());
}
println!("End state {:?}\n", g);
Ok(())
}