From 6494b74a45e27085fd81836f7b8c969431e8ff3c Mon Sep 17 00:00:00 2001 From: nsensfel Date: Mon, 26 Feb 2018 17:16:08 +0100 Subject: Got it to work, I think. --- src/battlemap/movement.erl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/battlemap') diff --git a/src/battlemap/movement.erl b/src/battlemap/movement.erl index 7fc5db1..513d032 100644 --- a/src/battlemap/movement.erl +++ b/src/battlemap/movement.erl @@ -41,12 +41,13 @@ location_to_array_index (ArrayWidth, X, Y) -> cross (_Battlemap, _ForbiddenLocations, [], Cost, X, Y) -> {{X, Y}, Cost}; cross (Battlemap, ForbiddenLocations, [Step|NextSteps], Cost, X, Y) -> - BattlemapTiles = battlemap:get_tiles(Battlemap), + BattlemapWidth = battlemap:get_width(Battlemap), + BattlemapTiles = battlemap:get_tile_ids(Battlemap), {NextX, NextY} = location_after_step(Step, X, Y), NextTileIX = - location_to_array_index(array:size(BattlemapTiles), NextX, NextY), - NextTile = array:get(array:get(NextTileIX, BattlemapTiles)), + location_to_array_index(BattlemapWidth, NextX, NextY), + NextTile = array:get(NextTileIX, BattlemapTiles), NextCost = (Cost + tile:get_cost(NextTile)), IsForbidden = array:foldl @@ -54,6 +55,7 @@ cross (Battlemap, ForbiddenLocations, [Step|NextSteps], Cost, X, Y) -> fun (_IX, Location, Prev) -> (Prev or ({NextX, NextY} == Location)) end, + false, ForbiddenLocations ), -- cgit v1.2.3-70-g09d2