diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-03 10:09:26 +0200 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-03 10:09:26 +0200 | 
| commit | af5583f825ac4d358d2205f7823d9acdabf6abc2 (patch) | |
| tree | 7b752402161f06c1ecc744171c8c60eaed79f02f /core | |
| parent | d00bd315ff06f9b1a30fb988ce3c183c2cfd3b19 (diff) | |
| download | RustAndDust-af5583f825ac4d358d2205f7823d9acdabf6abc2.zip RustAndDust-af5583f825ac4d358d2205f7823d9acdabf6abc2.tar.gz | |
Orientation: add Orientation fromMove(int col0, int row0, int col1, int row1)
Diffstat (limited to 'core')
| -rw-r--r-- | core/src/ch/asynk/tankontank/engine/Orientation.java | 18 | 
1 files changed, 18 insertions, 0 deletions
| 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; +        } +    }  } | 
