summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2018-02-26 13:52:29 +0100 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2018-02-26 13:52:29 +0100 |
commit | fd4d031ab5b31763d376c663cc049f62ee389243 (patch) | |
tree | cd09a29bb888acf772fa1aee59fe95e8bd75fe4e /src/shim/database_shim.erl | |
parent | 66ec11ce5d2e227846d6e6b2899cda851a70fc04 (diff) |
Got it to run, at last.
Diffstat (limited to 'src/shim/database_shim.erl')
-rw-r--r-- | src/shim/database_shim.erl | 104 |
1 files changed, 55 insertions, 49 deletions
diff --git a/src/shim/database_shim.erl b/src/shim/database_shim.erl index d55d848..1589d14 100644 --- a/src/shim/database_shim.erl +++ b/src/shim/database_shim.erl @@ -12,8 +12,7 @@ [ generate_db/1, fetch/2, - commit/4, - assert_session_is_valid/2 + commit/4 ] ). @@ -38,24 +37,47 @@ add_to_db (ID, Val) -> io:format("~nadd to db_shim: ~p.~n", [{ID, Val}]), ets:insert(db_shim, {ID, Val}). -generate_char_instances (Battlemap, Characters) -> - lists:map +generate_random_characters +( + 0, + 0, + _CharactersPerPlayer, + _TotalCharacterCount, + Result +) -> + Result; +generate_random_characters +( + MaxPlayerID, + 0, + CharactersPerPlayer, + TotalCharacterCount, + Result +) -> + generate_random_characters ( - fun (Char) -> - { - character:get_id(Char), - character_instance:new_instance_of - ( - Char, - (rand:uniform(2) - 1), % team, - { - rand:uniform(battlemap:get_width(Battlemap) - 1), % X - rand:uniform(battlemap:get_height(Battlemap) - 1) % Y - } - ) - } - end, - Characters + (MaxPlayerID - 1), + CharactersPerPlayer, + CharactersPerPlayer, + TotalCharacterCount, + Result + ); +generate_random_characters +( + MaxPlayerID, + PlayerCharacterCount, + CharactersPerPlayer, + TotalCharacterCount, + Result +) -> + NewCharacter = character:random(TotalCharacterCount, MaxPlayerID), + generate_random_characters + ( + MaxPlayerID, + (PlayerCharacterCount - 1), + CharactersPerPlayer, + (TotalCharacterCount + 1), + [NewCharacter|Result] ). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -67,29 +89,21 @@ generate_db (Heir) -> receive ok -> ok end, - Players = [<<"0">>, <<"1">>], - Battlemap = battlemap_shim:generate_random(), - Characters = character_shim:generate_random(rand:uniform(12) + 4), - CharacterInsts = generate_char_instances(Battlemap, Characters), + BattlemapWidth = roll:between(16, 64), + BattlemapHeight = roll:between(16, 64), + Battlemap = battlemap:random(0, BattlemapWidth, BattlemapHeight), + Characters = generate_random_characters(1, 7, 8, 0, []), + PlayersAsList = [<<"0">>, <<"1">>], BattlemapInstance = - battlemap_instance_shim:generate_random + battlemap_instance_shim:random ( - CharacterInsts, - Players + <<"0">>, + PlayersAsList, + Battlemap, + Characters ), - add_to_db({battlemap_db, battlemap:get_id(Battlemap)}, Battlemap), - lists:map - ( - fun (Char) -> - add_to_db({character_db, character:get_id(Char)}, Char) - end, - Characters - ), - add_to_db - ( - {battlemap_instance_db, battlemap_instance:get_id(BattlemapInstance)}, - BattlemapInstance - ). + + add_to_db({battlemap_instance_db, <<"0">>}, BattlemapInstance). fetch (DB, ObjectID) -> io:format("~ndb_shim lookup: ~p.~n", [{DB, ObjectID}]), @@ -98,13 +112,5 @@ fetch (DB, ObjectID) -> [] -> nothing end. -commit (DB, Owner, ObjectID, Value) -> - add_to_db({DB, ObjectID}, Value), - timed_cache:invalidate(DB, Owner, ObjectID). - -assert_session_is_valid (_PlayerID, _SessionToken) -> - % Ask PlayerID's login server if SessionToken is correct. - % If so, update last login time to prevent relogin within - % (database_timeout * 2). - % If not, crash. - ok. +commit (DB, _Owner, ObjectID, Value) -> + add_to_db({DB, ObjectID}, Value). |