31 lines
726 B
Python
31 lines
726 B
Python
|
from emis_funky_funktions import *
|
||
|
|
||
|
from sys import argv
|
||
|
from operator import eq
|
||
|
|
||
|
from a_star import pathfind
|
||
|
from read_in import load_world_from_paths
|
||
|
from world import Point, World
|
||
|
|
||
|
def pathfind_world(world: World, start: Point, end: Point) -> Option[Tuple[List[Point], int]]:
|
||
|
"Given a `World` with a start and finish point embedded, find the best route"
|
||
|
return pathfind(
|
||
|
world.neighbors,
|
||
|
p(world.heuristic, end),
|
||
|
p(eq, end),
|
||
|
start
|
||
|
)
|
||
|
|
||
|
def main(terrain_path: str, elevation_path: str, path_output: str, image_output: str):
|
||
|
print(
|
||
|
pathfind_world(
|
||
|
unwrap_r(
|
||
|
load_world_from_paths(terrain_path, elevation_path)
|
||
|
),
|
||
|
Point(200, 475),
|
||
|
Point(200, 200)
|
||
|
)
|
||
|
)
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main(*argv[1:])
|