summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2017-10-18 13:48:58 +0200
committernsensfel <SpamShield0@noot-noot.org>2017-10-18 13:48:58 +0200
commit2805c647010cbcca126ebf162fcbdd691fc72488 (patch)
tree2e05d66c8177cc5ff5125e2cbc23fdd4b1d05e36 /elm/battlemap/src/Battlemap.elm
parentd0dc7f665ba90d126e41048b2d7b992c3e804163 (diff)
Correcting whatever the compiler tells me is wrong.
Diffstat (limited to 'elm/battlemap/src/Battlemap.elm')
-rw-r--r--elm/battlemap/src/Battlemap.elm84
1 files changed, 18 insertions, 66 deletions
diff --git a/elm/battlemap/src/Battlemap.elm b/elm/battlemap/src/Battlemap.elm
index 888295a..c4aaf06 100644
--- a/elm/battlemap/src/Battlemap.elm
+++ b/elm/battlemap/src/Battlemap.elm
@@ -2,10 +2,11 @@ module Battlemap exposing
(
Type,
reset,
- get_navigator_location,
get_navigator_remaining_points,
set_navigator,
- add_step_to_navigator
+ try_getting_navigator_location,
+ try_getting_navigator_path_to,
+ try_adding_step_to_navigator
)
import Array
@@ -51,13 +52,11 @@ reset bmap =
navigator = Nothing
}
-get_navigator_location : Type -> (Maybe Battlemap.Location.Type)
-get_navigator_location bmap =
+try_getting_navigator_location : Type -> (Maybe Battlemap.Location.Type)
+try_getting_navigator_location bmap =
case bmap.navigator of
(Just navigator) ->
- (Just
- (Battlemap.Navigator.get_current_location navigator)
- )
+ (Just (Battlemap.Navigator.get_current_location navigator))
Nothing -> Nothing
@@ -88,19 +87,18 @@ set_navigator start_loc movement_points attack_range can_cross bmap =
)
}
-add_step_to_navigator : (
+try_adding_step_to_navigator : (
Type ->
- Battlemap.Direction.Type ->
(Battlemap.Location.Type -> Bool) ->
- (Battlemap.Location.Type -> Int) ->
+ Battlemap.Direction.Type ->
(Maybe Type)
)
-add_step_to_navigator bmap dir can_cross cost_fun =
+try_adding_step_to_navigator bmap can_cross dir =
case bmap.navigator of
(Just navigator) ->
let
new_navigator =
- (Battlemap.Navigator.add_step
+ (Battlemap.Navigator.try_adding_step
navigator
dir
(\loc -> ((can_cross loc) && (has_location bmap loc)))
@@ -118,61 +116,15 @@ add_step_to_navigator bmap dir can_cross cost_fun =
Nothing -> Nothing
_ -> Nothing
---------------------------------------------------------------------------------
-apply_to_all_tiles : (
- Type -> (Battlemap.Tile.Type -> Battlemap.Tile.Type) -> Type
- )
-apply_to_all_tiles bmap fun =
- {bmap |
- content = (Array.map fun bmap.content)
- }
-
-apply_to_tile : (
+try_getting_navigator_path_to : (
Type ->
- Battlemap.Location.Type ->
- (Battlemap.Tile.Type -> Battlemap.Tile.Type) ->
- (Maybe Type)
+ Battlemap.Location.Ref ->
+ (Maybe (List Battlemap.Direction.Type))
)
-apply_to_tile bmap loc fun =
- let
- index = (location_to_index bmap loc)
- at_index = (Array.get index bmap.content)
- in
- case at_index of
- Nothing ->
- Nothing
- (Just tile) ->
- (Just
- {bmap |
- content =
- (Array.set
- index
- (fun tile)
- bmap.content
- )
- }
- )
+try_getting_navigator_path_to bmap loc_ref =
+ case bmap.navigator of
+ (Just navigator) ->
+ (Battlemap.Navigator.try_getting_path_to navigator loc_ref)
-apply_to_tile_unsafe : (
- Type ->
- Battlemap.Location.Type ->
- (Battlemap.Tile.Type -> Battlemap.Tile.Type) ->
- Type
- )
-apply_to_tile_unsafe bmap loc fun =
- let
- index = (location_to_index bmap loc)
- at_index = (Array.get index bmap.content)
- in
- case at_index of
- Nothing -> bmap
- (Just tile) ->
- {bmap |
- content =
- (Array.set
- index
- (fun tile)
- bmap.content
- )
- }
+ Nothing -> Nothing