summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/struct/turn_result.erl')
-rw-r--r-- | src/struct/turn_result.erl | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/src/struct/turn_result.erl b/src/struct/turn_result.erl deleted file mode 100644 index 5f796ca..0000000 --- a/src/struct/turn_result.erl +++ /dev/null @@ -1,142 +0,0 @@ --module(turn_result). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% --record -( - switched_weapon, - { - character_instance_ix :: character_instance:id() - } -). - --record -( - moved, - { - character_instance_ix :: character_instance:id(), - path :: list(direction:enum()), - new_location :: location:type() - } -). - --record -( - attacked, - { - attacker_ix :: character_instance:id(), - defender_ix :: character_instance:id(), - sequence :: list(attack:struct()) - } -). - --opaque struct() :: (#switched_weapon{} | #moved{} | #attacked{}). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export_type([struct/0]). - --export -( - [ - new_character_switched_weapons/1, - new_character_moved/3, - new_character_attacked/3 - ] -). - --export -( - [ - encode/1 - ] -). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec new_character_switched_weapons (character_instance:id()) -> struct(). -new_character_switched_weapons (CharacterInstanceIX) -> - #switched_weapon { character_instance_ix = CharacterInstanceIX }. - --spec new_character_moved - ( - character_instance:id(), - list(direction:enum()), - location:type() - ) - -> struct(). -new_character_moved (CharacterInstanceIX, Path, NewLocation) -> - #moved - { - character_instance_ix = CharacterInstanceIX, - path = Path, - new_location = NewLocation - }. - --spec new_character_attacked - ( - character_instance:id(), - character_instance:id(), - list(attack:struct()) - ) - -> struct(). -new_character_attacked (AttackerIX, DefenderIX, AttackSequence) -> - #attacked - { - attacker_ix = AttackerIX, - defender_ix = DefenderIX, - sequence = AttackSequence - }. - --spec encode (struct()) -> {list(any())}. -encode (TurnResult) when is_record(TurnResult, switched_weapon) -> - CharacterInstanceIX = TurnResult#switched_weapon.character_instance_ix, - - { - [ - {<<"t">>, <<"swp">>}, - {<<"ix">>, CharacterInstanceIX} - ] - }; -encode (TurnResult) when is_record(TurnResult, moved) -> - CharacterInstanceIX = TurnResult#moved.character_instance_ix, - Path = TurnResult#moved.path, - NewLocation = TurnResult#moved.new_location, - - EncodedPath = lists:map(fun direction:encode/1, Path), - EncodedNewLocation = location:encode(NewLocation), - - { - [ - {<<"t">>, <<"mv">>}, - {<<"ix">>, CharacterInstanceIX}, - {<<"p">>, EncodedPath}, - {<<"nlc">>, EncodedNewLocation} - ] - }; -encode (TurnResult) when is_record(TurnResult, attacked) -> - AttackerIX = TurnResult#attacked.attacker_ix, - DefenderIX = TurnResult#attacked.defender_ix, - Sequence = TurnResult#attacked.sequence, - - EncodedSequence = lists:map(fun attack:encode/1, Sequence), - - { - [ - {<<"t">>, <<"atk">>}, - {<<"aix">>, AttackerIX}, - {<<"dix">>, DefenderIX}, - {<<"seq">>, EncodedSequence} - ] - }; -encode (Other) -> - io:format("~n invalid encode param\"~p\"~n", [Other]), - true = Other. |