Fulhack to fix concurrentcy issues
This commit is contained in:
parent
e3152576a2
commit
8bd87d349a
2 changed files with 7 additions and 10 deletions
|
@ -129,7 +129,7 @@ handle_call({join_table, Table}, From, State) ->
|
||||||
0 -> CurrentPlayers / 2;
|
0 -> CurrentPlayers / 2;
|
||||||
1 -> (CurrentPlayers / 2)+1
|
1 -> (CurrentPlayers / 2)+1
|
||||||
end,
|
end,
|
||||||
case (TableNum < SmallestTable) of
|
case (TableNum =< SmallestTable) of
|
||||||
true -> {reply , {error, table_full}, State};
|
true -> {reply , {error, table_full}, State};
|
||||||
false -> ggs_table:add_player(TablePID, FromPlayer),
|
false -> ggs_table:add_player(TablePID, FromPlayer),
|
||||||
{reply, {ok, TablePID}, State}
|
{reply, {ok, TablePID}, State}
|
||||||
|
|
|
@ -121,24 +121,21 @@ intern_add_player(Table, Player) ->
|
||||||
1 ->
|
1 ->
|
||||||
erlang:display("A player joined");
|
erlang:display("A player joined");
|
||||||
2 ->
|
2 ->
|
||||||
[First|_] = PlayerList,
|
[P1,P2] = PlayerList,
|
||||||
case First == Player of
|
erlang:display(PlayerList),
|
||||||
true ->
|
|
||||||
erlang:display("P1: joining"),
|
erlang:display("P1: joining"),
|
||||||
ggs_db:setItem(Table, local_storage, Player, player1),
|
ggs_db:setItem(Table, local_storage, P1, player1),
|
||||||
erlang:display(ggs_db:getItem(Table, local_storage, Player)),
|
erlang:display(ggs_db:getItem(Table, local_storage, Player)),
|
||||||
ggs_db:setItem(Table, local_storage, player1_y, 50),
|
ggs_db:setItem(Table, local_storage, player1_y, 50),
|
||||||
ggs_table:send_command(Table, Player, {"welcome", int2str(1)}),
|
ggs_table:send_command(Table, Player, {"welcome", int2str(1)}),
|
||||||
ggs_table:notify_all_players(Table, {"player1_y", int2str(50)});
|
ggs_table:notify_all_players(Table, {"player1_y", int2str(50)}),
|
||||||
false ->
|
|
||||||
erlang:display("P2: joining"),
|
erlang:display("P2: joining"),
|
||||||
ggs_db:setItem(Table, local_storage, Player, player2),
|
ggs_db:setItem(Table, local_storage, P2, player2),
|
||||||
erlang:display(ggs_db:getItem(Table, local_storage, Player)),
|
erlang:display(ggs_db:getItem(Table, local_storage, Player)),
|
||||||
ggs_db:setItem(Table, local_storage, player2_y, 50),
|
ggs_db:setItem(Table, local_storage, player2_y, 50),
|
||||||
ggs_table:send_command(Table, Player, {"welcome", int2str(2)}),
|
ggs_table:send_command(Table, Player, {"welcome", int2str(2)}),
|
||||||
ggs_table:send_command(Table, Player, {"player1_y", int2str(50)}),
|
ggs_table:send_command(Table, Player, {"player1_y", int2str(50)}),
|
||||||
ggs_table:notify_all_players(Table, {"player2_y", int2str(50)})
|
ggs_table:notify_all_players(Table, {"player2_y", int2str(50)});
|
||||||
end;
|
|
||||||
_Other ->
|
_Other ->
|
||||||
ggs_table:send_command(Table, Player, {"not_welcome", ""})
|
ggs_table:send_command(Table, Player, {"not_welcome", ""})
|
||||||
end.
|
end.
|
||||||
|
|
Reference in a new issue