From 3f5492b2bb67326be43cd7c5ba02ccf0ba1ae0e3 Mon Sep 17 00:00:00 2001 From: Justin Wernick Date: Tue, 19 Apr 2022 21:27:56 +0200 Subject: Refile for merging repos --- src/command.rs | 73 ---------------------------------------------------------- 1 file changed, 73 deletions(-) delete mode 100644 src/command.rs (limited to 'src/command.rs') diff --git a/src/command.rs b/src/command.rs deleted file mode 100644 index c6d6695..0000000 --- a/src/command.rs +++ /dev/null @@ -1,73 +0,0 @@ -use crate::geometry::Direction; -use crate::geometry::Point2d; -use std::fmt; - -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] -pub struct Command { - pub worm: Option, - pub action: Action, -} - -impl fmt::Display for Command { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self.worm { - Some(worm) => write!(f, "select {};{}", worm, self.action), - None => write!(f, "{}", self.action), - } - } -} - -impl Command { - pub fn with_select(worm: i32, action: Action) -> Command { - Command { - worm: Some(worm), - action, - } - } - - pub fn new(action: Action) -> Command { - Command { worm: None, action } - } -} - -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] -pub enum Action { - Move(Point2d), - Dig(Point2d), - Shoot(Direction), - Bomb(Point2d), - Snowball(Point2d), - DoNothing, -} - -impl fmt::Display for Action { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use Action::*; - match self { - Move(p) => write!(f, "move {} {}", p.x, p.y), - Dig(p) => write!(f, "dig {} {}", p.x, p.y), - Shoot(dir) => write!(f, "shoot {}", dir), - Bomb(p) => write!(f, "banana {} {}", p.x, p.y), - Snowball(p) => write!(f, "snowball {} {}", p.x, p.y), - DoNothing => write!(f, "nothing"), - } - } -} - -impl Action { - pub fn is_attack(&self) -> bool { - use Action::*; - match self { - Shoot(_) | Bomb(_) => true, - _ => false, - } - } - - pub fn is_snowball(&self) -> bool { - use Action::*; - match self { - Snowball(_) => true, - _ => false, - } - } -} -- cgit v1.2.3