summary refs log tree commit diff stats
path: root/src/direction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/direction.cpp')
-rw-r--r--src/direction.cpp25
1 files changed, 25 insertions, 0 deletions
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 @@
1#include "direction.h"
2
3vec2s posInDir(vec2s orig, Direction dir)
4{
5 switch (dir)
6 {
7 case Direction::left: return orig - vec2s { 1, 0 };
8 case Direction::right: return orig + vec2s { 1, 0 };
9 case Direction::up: return orig - vec2s { 0, 1 };
10 case Direction::down: return orig + vec2s { 0, 1 };
11 case Direction::none: return orig;
12 }
13}
14
15Direction oppositeDir(Direction dir)
16{
17 switch (dir)
18 {
19 case Direction::left: return Direction::right;
20 case Direction::right: return Direction::left;
21 case Direction::up: return Direction::down;
22 case Direction::down: return Direction::up;
23 case Direction::none: return Direction::none;
24 }
25}