def main():
    directions = load_directions('directions.txt')
    starting_point = (0, 0)
    starting_orientation = 'N'
    ending_point, _ = follow_directions(starting_point, starting_orientation,
                                        *directions)
    print(get_distance(starting_point, ending_point))
 def test_follow_directions(self):
     starting_point = (0, 0)
     starting_orientation = 'N'
     directions = ['R2', 'L3', 'R1']
     ending_point = (3, 3)
     ending_orientation = 'E'
     assert (follow_directions(starting_point, starting_orientation,
                               *directions) == (ending_point,
                                                ending_orientation))
Esempio n. 3
0
def main():
    directions = load_directions('directions.txt')
    starting_point = point = (0, 0)
    orientation = 'N'
    visited = []
    for step in directions:
        next_point, orientation = follow_directions(point, orientation, step)
        expanded = expand_path(point, next_point)
        for intermediate_point in expanded[1:]:
            if intermediate_point in visited:
                print(get_distance(starting_point, intermediate_point))
                return
            else:
                visited.append(intermediate_point)
        point = next_point
    print('No points visited twice.')
Esempio n. 4
0
def test_manhattan_distance():
    instructions = directions.read_directions('example.txt')
    actual_position =  directions.follow_directions(instructions)
    assert directions.manhattan_distance(actual_position) == 25
Esempio n. 5
0
def test_example():
    instructions = directions.read_directions('example.txt')
    expected_position = (17, -8)
    assert directions.follow_directions(instructions) == expected_position
Esempio n. 6
0
def test_part_1(): 
    instructions = directions.read_directions('input.txt')
    actual_position =  directions.follow_directions(instructions)
    assert directions.manhattan_distance(actual_position) == 2057