summaryrefslogtreecommitdiff
path: root/2020-overdrive/src/command.rs
diff options
context:
space:
mode:
Diffstat (limited to '2020-overdrive/src/command.rs')
-rw-r--r--2020-overdrive/src/command.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/2020-overdrive/src/command.rs b/2020-overdrive/src/command.rs
new file mode 100644
index 0000000..1858202
--- /dev/null
+++ b/2020-overdrive/src/command.rs
@@ -0,0 +1,27 @@
+use std::fmt;
+
+#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)]
+pub enum Command {
+ Nothing,
+ Accelerate,
+ Decelerate,
+ TurnLeft,
+ TurnRight,
+ UseBoost,
+ UseOil,
+}
+
+impl fmt::Display for Command {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ use Command::*;
+ match self {
+ Nothing => write!(f, "NOTHING"),
+ Accelerate => write!(f, "ACCELERATE"),
+ Decelerate => write!(f, "DECELERATE"),
+ TurnLeft => write!(f, "TURN_LEFT"),
+ TurnRight => write!(f, "TURN_RIGHT"),
+ UseBoost => write!(f, "USE_BOOST"),
+ UseOil => write!(f, "USE_OIL"),
+ }
+ }
+}