From cbb41f8025105e455993db2dee52d4234aed0aeb Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Tue, 26 May 2015 10:12:10 +0200 Subject: Start w14 --- Week14 Route 66/src/OO14route66/Direction.java | 55 ++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Week14 Route 66/src/OO14route66/Direction.java (limited to 'Week14 Route 66/src/OO14route66/Direction.java') diff --git a/Week14 Route 66/src/OO14route66/Direction.java b/Week14 Route 66/src/OO14route66/Direction.java new file mode 100644 index 0000000..b8c1636 --- /dev/null +++ b/Week14 Route 66/src/OO14route66/Direction.java @@ -0,0 +1,55 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package OO14route66; + +/** + * OO1route66 initial class + * @author Pieter Koopman + * + * Enumeration class for driving directions + */ +public enum Direction +{ + North, East, South, West; + + /** + * convert integer to direction + * if number of directions is 2 only East and West are used, + * otherwise all 4 directions are used + * @param i the integer + * @return the direction + */ + public static Direction intToDirection(int i) { + if (Model.DIRECTIONS == 2) { + switch (i % 2) { + case 0: return East; + default: return West; + } + } else { + switch (i % 4) { + case 0: return North; + case 1: return East; + case 2: return South; + default: return West; + } + } + } + + /** + * override standard toString + * @return string representation of this value + */ + @Override + public String toString() { + switch (this) { + case North: return "North"; + case East: return "East"; + case South: return "South"; + case West: return "West"; + default: return "Unknown direction"; + } + } +} -- cgit v1.2.3