From 057a4fe886848322adf4e48ad9709a289434dc1b Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Sat, 5 May 2018 20:37:53 +0200 Subject: Initial commit with sample bot and embedded game engine --- src/engine/geometry.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/engine/geometry.rs (limited to 'src/engine/geometry.rs') diff --git a/src/engine/geometry.rs b/src/engine/geometry.rs new file mode 100644 index 0000000..f2a2522 --- /dev/null +++ b/src/engine/geometry.rs @@ -0,0 +1,24 @@ +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct Point { + pub x: u8, + pub y: u8 +} + +impl Point { + pub fn move_left(&self) -> Option { + self.x.checked_sub(1).map(|x| Point { + x: x, + ..*self + }) + } + pub fn move_right(&self, size: &Point) -> Option { + if self.x + 1 >= size.x { + None + } else { + Some(Point { + x: self.x + 1, + ..*self + }) + } + } +} -- cgit v1.2.3