public BunnyCoordinate HasDuplicateLocation(BunnyCoordinate location) { if (_coordinateSet.Contains(location.GenerateHash())) { location.FoundDuplicate = true; return(location); } _coordinateSet.Add(location.GenerateHash()); return(location); }
public BunnyCoordinate MoveDown(int numberToMove, BunnyCoordinate currentCoordinate) { for (var i = 1; i <= numberToMove; i++) { var tempLocation = _locationTracker.HasDuplicateLocation(new BunnyCoordinate(currentCoordinate.X, currentCoordinate.Y - i)); if (tempLocation.FoundDuplicate) { return(tempLocation); } } return(new BunnyCoordinate(currentCoordinate.X, currentCoordinate.Y - numberToMove)); }
public BunnyCoordinate MoveRight(int numberToMove, BunnyCoordinate currentCoordinate) { return(new BunnyCoordinate(currentCoordinate.X + numberToMove, currentCoordinate.Y)); }
public BunnyCoordinate MoveDown(int numberToMove, BunnyCoordinate currentCoordinate) { return(new BunnyCoordinate(currentCoordinate.X, currentCoordinate.Y - numberToMove)); }