summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/character_shim.erl')
-rw-r--r-- | src/character_shim.erl | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/character_shim.erl b/src/character_shim.erl new file mode 100644 index 0000000..7390cc4 --- /dev/null +++ b/src/character_shim.erl @@ -0,0 +1,43 @@ +-module(character_shim). + +-export( + [ + generate/2 + ] +). + +generate_char (N, X, Y, Team) -> + IDAsString = list_to_binary(integer_to_list(N)), + { + IDAsString, % ID + IDAsString, % Name + IDAsString, % Icon + IDAsString, % Portrait + {X, Y}, + Team, + rand:uniform(10), % Movement Points + (rand:uniform(5) - 1) % Attack Range + }. + +generate (0, Result, _MaxX, _MaxY) -> + Result; +generate (N, Prev, MaxX, MaxY) -> + generate + ( + (N - 1), + [ + generate_char + ( + N, + (rand:uniform(MaxX) - 1), + (rand:uniform(MaxY) - 1), + (N rem 2) + ) + | Prev + ], + MaxX, + MaxY + ). + +generate (MaxX, MaxY) -> + generate(rand:uniform(14) + 2, [], MaxX, MaxY). |