summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/character_shim.erl')
-rw-r--r--src/character_shim.erl43
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).