summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2018-02-26 17:16:08 +0100 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2018-02-26 17:16:08 +0100 |
commit | 6494b74a45e27085fd81836f7b8c969431e8ff3c (patch) | |
tree | e344a24fa2e9a2ee198314c0552c46b235072009 /src/battlemap/movement.erl | |
parent | fd4d031ab5b31763d376c663cc049f62ee389243 (diff) |
Got it to work, I think.
Diffstat (limited to 'src/battlemap/movement.erl')
-rw-r--r-- | src/battlemap/movement.erl | 8 |
1 files changed, 5 insertions, 3 deletions
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 ), |