Custom Loc debug formatter

This commit is contained in:
tali 2022-12-14 15:28:50 -05:00
parent 8291a07ee4
commit af682d88ff
1 changed files with 7 additions and 1 deletions

View File

@ -5,7 +5,7 @@ use crate::matrix::Mat;
use core::ops::Range;
/// Represents a location for a piece, including its orientation.
#[derive(Copy, Clone, Eq, PartialEq, Debug, Hash)]
#[derive(Copy, Clone, Eq, PartialEq, Hash)]
pub struct Loc {
/// Horizontal coordinate.
pub x: i16,
@ -29,6 +29,12 @@ impl From<(i16, i16)> for Loc {
}
}
impl core::fmt::Debug for Loc {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
(self.x, self.y, self.r).fmt(f)
}
}
/// Represents a rotation state for a piece. The initial state is "north" (`N`), and there
/// are 4 total orientations to represent each 90 degree turn possible.
#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Debug, Default, Hash)]