| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/shim_battlemap_battlemap.erl')
| -rw-r--r-- | src/shim_battlemap_battlemap.erl | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/src/shim_battlemap_battlemap.erl b/src/shim_battlemap_battlemap.erl new file mode 100644 index 0000000..6818bd9 --- /dev/null +++ b/src/shim_battlemap_battlemap.erl @@ -0,0 +1,37 @@ +-module(shim_battlemap_battlemap). + +-export( +   [ +      generate/2 +   ] +). + +generate_tile (0) -> +   {0, 1}; +generate_tile (1) -> +   {1, 2}; +generate_tile (2) -> +   {2, 99}. + +generate(_Prev, Result, 0, 0, _BaseWidth) -> +   Result; +generate(Prev, Result, 0, Y, BaseWidth) -> +   generate(Prev, Result, BaseWidth, (Y - 1), BaseWidth); +generate(Prev, Result, X, Y, BaseWidth) -> +   case rand:uniform(6) of +      N when (N > 3) -> +         generate(Prev, [generate_tile(Prev)|Result], (X - 1), Y, BaseWidth); + +      N -> +         NewTileType = (N - 1), +         generate( +            NewTileType, +            [generate_tile(NewTileType)|Result], +            (X - 1), +            Y, +            BaseWidth +         ) +   end. + +generate (Width, Height) -> +   {Width, Height, generate(0, [], Width, Height, Width)}. | 


