Maxim Sokhatsky 11 лет назад
Родитель
Сommit
d9768762a6
1 измененных файлов с 19 добавлено и 18 удалено
  1. 19 18
      apps/face/src/index.erl

+ 19 - 18
apps/face/src/index.erl

@@ -4,7 +4,7 @@
 -include_lib("n2o/include/wf.hrl").
 -include("../../server/include/requests.hrl").
 -include("../../server/include/settings.hrl").
--jsmacro([take/2,attach/1,join/1,discard/3,player_info/2,reveal/3]).
+-jsmacro([take/2,attach/1,join/1,discard/3,player_info/2,reveal/4]).
 
 join(Game) ->
     ws:send(bert:encodebuf(bert:tuple(
@@ -36,19 +36,15 @@ player_info(User,GameModule) ->
         bert:atom('client'),
         bert:tuple(bert:atom("get_player_stats"),bert:binary(User),bert:atom(GameModule))))).
 
-reveal(GameId, {CDiscarded, VDiscarded}, Hand) ->
-    wf:send(
-      bert:encodebuf(
-        bert:atom("client"),
-        ber:tuple(
-          bert:atom("game_action"),
-          GameId,
-          bert:atom("okey_reveal"),
-          [{discarded, bert:tuple(bert:atom("OkeyPieces"), CDiscarded, VDiscarded)},
-           {hand, [[case OkeyPiece of null -> bert:atom("null"); {C, V} -> bert:tuple(bert:atom("OkeyPiece"), C, V) end || OkeyPiece <- Hand]]}]
-         )
-       )
-     ).
+reveal(GameId, Color, Value, Hand) ->
+    ws:send(bert:encodebuf(bert:tuple(
+        bert:atom('client'),
+        bert:tuple(
+            bert:atom("game_action"),
+            GameId,
+            bert:atom("okey_reveal"),
+            [{discarded, bert:tuple(bert:atom("OkeyPiece"), Color, Value)},
+             {hand, Hand}])))).
 
 redraw_tiles([{Tile, _}| _ ] = TilesList) ->
     wf:update(discard_combo,
@@ -216,11 +212,16 @@ event(reveal) ->
     TilesList = get(game_okey_tiles),
     Discarded = wf:q(discard_combo),
 
-    case lists:keyfind(erlang:list_to_binary(Discarded), 1, TilesList) of
+    case lists:keyfind(wf:to_binary(Discarded), 1, TilesList) of
         {_, {CDiscarded, VDiscarded} = Key} ->
-            Hand = [{erlang:integer_to_list(C), erlang:integer_to_list(V)} || {_, {C, V}} <- lists:keydelete(Key, 2, TilesList)],
-            wf:info("+++ ~p ~p", [CDiscarded, VDiscarded]),
-            wf:info(reveal("1000001", {erlang:integer_to_list(CDiscarded), erlang:integer_to_list(VDiscarded)}, [null | Hand]));
+            Hand = [{C,V} || {_, {C, V}} <- lists:keydelete(Key, 2, TilesList)],
+            wf:info("Discarded: ~p ~p", [CDiscarded, VDiscarded]),
+            HandJS = "[[" ++ string:join([
+                wf:f("bert.tuple(bert.atom('OkeyPiece'), ~w, ~w)",[C,V])
+                || {C,V} <- Hand],",") ++ "],[]]",
+            RevealJS = reveal("1000001",wf:f("~p",[CDiscarded]),wf:f("~p",[VDiscarded]),HandJS),
+            wf:info("RevealJS: ~p",[lists:flatten(RevealJS)]),
+            wf:wire(RevealJS);
         _ ->
             wf:info("error discarded ~p", Discarded)
     end;