From af5583f825ac4d358d2205f7823d9acdabf6abc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Fri, 3 Oct 2014 10:09:26 +0200 Subject: Orientation: add Orientation fromMove(int col0, int row0, int col1, int row1) --- core/src/ch/asynk/tankontank/engine/Orientation.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/core/src/ch/asynk/tankontank/engine/Orientation.java b/core/src/ch/asynk/tankontank/engine/Orientation.java index 59314dd..d985b9c 100644 --- a/core/src/ch/asynk/tankontank/engine/Orientation.java +++ b/core/src/ch/asynk/tankontank/engine/Orientation.java @@ -79,4 +79,22 @@ public enum Orientation else if ((r > (NORTH_WEST.r - delta)) && (r < (NORTH_WEST.r + delta))) return NORTH_WEST; else return KEEP; } + + public static Orientation fromMove(int col0, int row0, int col1, int row1) + { + int dx = col1 - col0; + int dy = row1 - row0; + + if (dy == 0) { + if (dx > 0) return Orientation.NORTH; + return Orientation.SOUTH; + } + if (dy > 0) { + if (dx > 0) return Orientation.NORTH_WEST; + return Orientation.SOUTH_WEST; + } else { + if (dx > 0) return Orientation.NORTH_EAST; + return Orientation.SOUTH_EAST; + } + } } -- cgit v1.1-2-g2b99