with Grids, Moves; package Pathfinding is -- Result path will get as close to the finish coordinates -- as possible without pushing anything or going out of bounds. function A_Star (My_Grid : in Grids.Grid; SX, SY : in Integer; FX, FY : in Integer) return Moves.Path with Pre => My_Grid.In_Bounds (SX, SY); end Pathfinding;