summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2018-10-01 17:28:10 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2018-10-01 17:28:10 +0200 |
commit | d4414ea403c77aae2433ea97cb18d4cf69d3b845 (patch) | |
tree | 1bf1509538970c110dc7931044ee13a81d27b879 /src/battle | |
parent | ad9535ddc9cc733548d7c1701add913ef9a7fc79 (diff) |
Working on battle generation.
Diffstat (limited to 'src/battle')
-rw-r--r-- | src/battle/btl_shim.erl | 2 | ||||
-rw-r--r-- | src/battle/struct/btl_map.erl | 31 |
2 files changed, 20 insertions, 13 deletions
diff --git a/src/battle/btl_shim.erl b/src/battle/btl_shim.erl index 915b75e..aeb4b10 100644 --- a/src/battle/btl_shim.erl +++ b/src/battle/btl_shim.erl @@ -231,7 +231,7 @@ generate_random_battle () -> %MapWidth = 32, % shr_roll:between(16, 32), %MapHeight = 32, %shr_roll:between(16, 32), %Map = btl_map:random(0, MapWidth, MapHeight), - Map = btl_map:from_list(0, 32, 32, new_demo_map()), + Map = btl_map:from_list(32, 32, new_demo_map()), Characters = generate_random_characters(1, 8, 8, 0, Map, [], []), PlayersAsList = [btl_player:new(0, 8, <<"0">>), btl_player:new(1, 0, <<"1">>)], diff --git a/src/battle/struct/btl_map.erl b/src/battle/struct/btl_map.erl index c784bca..157382d 100644 --- a/src/battle/struct/btl_map.erl +++ b/src/battle/struct/btl_map.erl @@ -3,13 +3,10 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --type id() :: binary(). - -record ( map, { - id :: id(), width :: integer(), height :: integer(), tile_ids :: array:array(shr_tile:instance()) @@ -18,7 +15,7 @@ -opaque type() :: #map{}. --export_type([type/0, id/0]). +-export_type([type/0]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -27,7 +24,6 @@ -export ( [ - get_id/1, get_width/1, get_height/1, get_tile_instances/1, @@ -38,7 +34,8 @@ -export ( [ - from_list/4 + from_list/3, + from_array/3 ] ). @@ -63,9 +60,6 @@ location_to_array_index (ArrayWidth, {X, Y}) -> %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% Accessors --spec get_id (type()) -> id(). -get_id (Map) -> Map#map.id. - -spec get_width (type()) -> integer(). get_width (Map) -> Map#map.width. @@ -84,17 +78,30 @@ get_tile_instance (Location, Map) -> ( non_neg_integer(), non_neg_integer(), - non_neg_integer(), list(list(non_neg_integer())) ) -> type(). -from_list (ID, Width, Height, List) -> +from_list (Width, Height, List) -> TileInstances = lists:map(fun shr_tile:instance_from_ints/1, List), #map { - id = list_to_binary(integer_to_list(ID)), width = Width, height = Height, tile_ids = array:from_list(TileInstances) }. + +-spec from_array + ( + non_neg_integer(), + non_neg_integer(), + array:array(shr_tile:instance()) + ) + -> type(). +from_array (Width, Height, TileInstances) -> + #map + { + width = Width, + height = Height, + tile_ids = TileInstances + }. |