public Direction DirectionFromLocation(float lat, float lng) { var location = new Location(lng, lat); var directionFinder = new DirectionFinder(location); return(directionFinder.BestDirection()); }
public void DirectionFinder_GivenMoveRightCommand_WhenCurrentlyFacingNorth_ReturnsE() { var expected = 'E'; var actual = DirectionFinder.CalculateDirection('N', 'R'); Assert.AreEqual(expected, actual); }
// Start is called before the first frame update void Start() { talkLib = TalkLib.GetTalkLib(); move_lock = false; camera = GameObject.Find("Main Camera").GetComponent <Camera>(); direction_mode = 0; sight = GameObject.Find("Sight"); rotate_buffer = 5; isOnGround = true; studentRb = gameObject.GetComponent <Rigidbody>(); studentAnim = gameObject.GetComponent <Animator>(); directionFinder = gameObject.GetComponent <DirectionFinder>(); forward = directionFinder.FindForward(direction_mode); UpdateDirection(); gameObject.transform.position = new Vector3(PlayerPrefs.GetFloat("position_x"), PlayerPrefs.GetFloat("position_y"), PlayerPrefs.GetFloat("position_z")); //gameObject.transform.eulerAngles = new Vector3(PlayerPrefs.GetFloat("euler_x"), PlayerPrefs.GetFloat("euler_y"), PlayerPrefs.GetFloat("euler_z")); }
private Tuple <int[, ], char, bool, int[, ]> Move(char[] commands, IPosition mapBoundary, IList <IPosition> obstacles) { Tuple <int[, ], char, bool, int[, ]> result = null; foreach (char command in commands) { int[,] coordinates = new int[, ] { { Position.XCoordinate, Position.YCoordinate } }; char direction = Position.CardinalDirection; if (command == 'F' || command == 'B') //move forward or backward { result = CalculateXYCoordinates(coordinates[0, 0], coordinates[0, 1], direction, command, mapBoundary.XCoordinate, mapBoundary.YCoordinate, obstacles); } else if (command == 'L' || command == 'R') //change direction { result = new Tuple <int[, ], char, bool, int[, ]>(coordinates, DirectionFinder.CalculateDirection(direction, command), false, null); } Position.XCoordinate = result.Item1[0, 0]; Position.YCoordinate = result.Item1[0, 1]; Position.CardinalDirection = result.Item2; if (result.Item3) //if hit an obstacle progress no further { break; } } return(result); }
public Direction DirectionFromLocation(float lat, float lng) { var location = new Location(lng, lat); var directionFinder = new DirectionFinder(location); return directionFinder.BestDirection(); }