custom_values/
custom_values.rs1extern crate das_grid;
2
3#[derive(Clone, Copy, PartialEq, Eq)]
5enum Pawn {
6 None,
7 Player,
8}
9
10impl std::fmt::Display for Pawn {
11 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
12 match *self {
13 Pawn::None => write!(f, "None"),
14 Pawn::Player => write!(f, "Player"),
15 }
16 }
17}
18
19fn main() -> Result<(), das_grid::GridErr> {
20 let mut g: das_grid::Grid<Pawn> = das_grid::Grid::new(2, 2, Pawn::None);
22
23 g.set((0, 0), &Pawn::Player)?;
25
26 println!("Initial state {:?}\n", g);
27
28 if let Ok(()) = g.mov_to((0, 0), das_grid::MoveDirection::Right) {
30 println!("The pawn on 0, 1 is {}\n", g.get((0, 1)).unwrap());
32 }
33
34 println!("End state {:?}\n", g);
35
36 Ok(())
37}