diff --git a/pathfinder/server/dijkstra.py b/pathfinder/server/dijkstra.py index ba3992e..5e65f8c 100644 --- a/pathfinder/server/dijkstra.py +++ b/pathfinder/server/dijkstra.py @@ -1,7 +1,7 @@ from heapdict import heapdict -from pathfinder.server.node import Node from pathfinder.motion import motions +from pathfinder.server.node import Node class Dijkstra: @@ -50,8 +50,9 @@ def find_path(self, client_connection): if node.key in self._closed_nodes: continue - new_distance = (current_distance + - current_node.motion_weight(node.came_by_motion)) + new_distance = current_distance + current_node.motion_weight( + node.came_by_motion + ) if ( node.key not in self._open_nodes or new_distance < self._open_queue[node.key] diff --git a/pathfinder/server/node.py b/pathfinder/server/node.py index 1e5491a..350b273 100644 --- a/pathfinder/server/node.py +++ b/pathfinder/server/node.py @@ -18,8 +18,10 @@ def __init__(self, dijkstra, view, came_by_motion): def get_neighbours(self): """Yield all neighbours of this node.""" for motion, view in child_views( - self.view, self.dijkstra.available_motions, - self.dijkstra.min_line, self.dijkstra.max_line + self.view, + self.dijkstra.available_motions, + self.dijkstra.min_line, + self.dijkstra.max_line, ): yield Node(self.dijkstra, view, motion) @@ -35,9 +37,8 @@ def motion_weight(self, motion): # Difference in length of current and future count # 2j -> 3j = 0 # 9j -> 10j = 1 - return ( - len(str(self.came_by_motion_repetitions + 1)) - - len(str(self.came_by_motion_repetitions)) + return len(str(self.came_by_motion_repetitions + 1)) - len( + str(self.came_by_motion_repetitions) ) def set_came_from(self, node): @@ -60,4 +61,3 @@ def reconstruct_path(self): motions.insert(0, node.came_by_motion) node = node.came_from return motions - diff --git a/pathfinder/server/server.py b/pathfinder/server/server.py index 4df86a7..9d47a91 100644 --- a/pathfinder/server/server.py +++ b/pathfinder/server/server.py @@ -83,7 +83,9 @@ def do_action(self, data): def pathfind(self): """Run the pathfinder, then send the result back to the client.""" - dijkstra = Dijkstra(self.start_view, self.target_view, self.min_line, self.max_line) + dijkstra = Dijkstra( + self.start_view, self.target_view, self.min_line, self.max_line + ) motions = dijkstra.find_path(self.client_connection) # If motions is None, that means we cancelled pathfinding because a new