package automatvgi;

public enum Direction {
	NORTH{
		public double angle(){ return Math.PI/2; }
		public String initials(){ return "n"; }
		public String capInitials(){ return "N"; }
	},
	NORTH_WEST{
		public double angle(){ return 3*Math.PI/4; }
		public String initials(){ return "nw"; }
		public String capInitials(){ return "NW"; }
	},
	WEST{
		public double angle(){ return Math.PI; }
		public String initials(){ return "w"; }
		public String capInitials(){ return "W"; }
	},
	SOUTH_WEST{
		public double angle(){ return -3*Math.PI/4; }
		public String initials(){ return "sw"; }
		public String capInitials(){ return "SW"; }
	},
	SOUTH{
		public double angle(){ return -Math.PI/2; }
		public String initials(){ return "s"; }
		public String capInitials(){ return "S"; }
	},
	SOUTH_EAST{
		public double angle(){ return -Math.PI/4; }
		public String initials(){ return "se"; }
		public String capInitials(){ return "SE"; }
	},
	EAST{
		public double angle(){ return 0.; }
		public String initials(){ return "e"; }
		public String capInitials(){ return "E"; }
	},
	NORTH_EAST{
		public double angle(){ return Math.PI/4;}
		public String initials(){ return "ne"; }
		public String capInitials(){ return "NE"; }
	};

	public abstract double angle();
	public abstract String initials();
	public abstract String capInitials();
}
