From 26fbd8c1edaf94513d9750681edbe449b699efe4 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Fri, 22 Feb 2019 17:25:59 -0500 Subject: Trains move on tracks to the beat Small implementation changes in various places, biggest thing is now we're using ranges, which is experimental and will be included for real in C++20. --- src/direction.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/direction.cpp (limited to 'src/direction.cpp') diff --git a/src/direction.cpp b/src/direction.cpp new file mode 100644 index 0000000..cf6409e --- /dev/null +++ b/src/direction.cpp @@ -0,0 +1,25 @@ +#include "direction.h" + +vec2s posInDir(vec2s orig, Direction dir) +{ + switch (dir) + { + case Direction::left: return orig - vec2s { 1, 0 }; + case Direction::right: return orig + vec2s { 1, 0 }; + case Direction::up: return orig - vec2s { 0, 1 }; + case Direction::down: return orig + vec2s { 0, 1 }; + case Direction::none: return orig; + } +} + +Direction oppositeDir(Direction dir) +{ + switch (dir) + { + case Direction::left: return Direction::right; + case Direction::right: return Direction::left; + case Direction::up: return Direction::down; + case Direction::down: return Direction::up; + case Direction::none: return Direction::none; + } +} -- cgit 1.4.1