Roman Dayneko 11 years ago
parent
commit
bbaa00fe49

+ 11 - 6
apps/face/src/index.erl

@@ -4,8 +4,12 @@
 -include_lib("n2o/include/wf.hrl").
 -include("../../server/include/requests.hrl").
 -include("../../server/include/settings.hrl").
+<<<<<<< HEAD
 -include_lib("avz/include/avz.hrl").
 -jsmacro([take/2,attach/1,join/1,discard/3,player_info/2,reveal/4]).
+=======
+-jsmacro([take/2,attach/1,join/1,discard/3,player_info/2,reveal/4,piece/2]).
+>>>>>>> 3c18764f0aba17050c7d9385380db30b16af11c0
 
 join(Game) ->
     ws:send(bert:encodebuf(bert:tuple(
@@ -37,6 +41,9 @@ player_info(User,GameModule) ->
         bert:atom('client'),
         bert:tuple(bert:atom("get_player_stats"),bert:binary(User),bert:atom(GameModule))))).
 
+piece(Color,Value) ->
+    bert:tuple(bert:atom("OkeyPiece"), Color, Value).
+
 reveal(GameId, Color, Value, Hand) ->
     ws:send(bert:encodebuf(bert:tuple(
         bert:atom('client'),
@@ -217,13 +224,11 @@ event(reveal) ->
     Discarded = wf:q(discard_combo),
 
     case lists:keyfind(wf:to_binary(Discarded), 1, TilesList) of
-        {_, {CDiscarded, VDiscarded} = Key} ->
-            Hand = [{C,V} || {_, {C, V}} <- lists:keydelete(Key, 2, TilesList)],
-            wf:info("Discarded: ~p ~p", [CDiscarded, VDiscarded]),
+        {_, {CD, VD} = Key} ->
+            Hand = [{C,V} || {_, {C, V}} <- lists:keydelete(Key, 2, TilesList) ],
             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:f("bert.tuple(bert.atom('OkeyPiece'),~p,~p)",[C,V]) || {C,V} <- Hand],",") ++ "],[]]",
+            RevealJS = reveal("1000001",wf:f("~p",[CD]),wf:f("~p",[VD]),HandJS),
             wf:info("RevealJS: ~p",[lists:flatten(RevealJS)]),
             wf:wire(RevealJS);
         _ ->

+ 1 - 1
apps/server/src/gas.erl

@@ -2,7 +2,7 @@
 -compile(export_all).
 
 %-define(ALLOWED, [gas,nsg_trn_lucky,game_session,game_manager,game_okey_ng_table_trn]).
--define(ALLOWED, [gas,game_session]).
+-define(ALLOWED, [gas]).
 
 log(Module, String, Args, Fun) ->
     case lists:member(Module,?ALLOWED) of

+ 2 - 2
apps/server/src/okey/game_okey_bot.erl

@@ -146,7 +146,7 @@ robot_init_loop(State) ->
     GameId = State#state.gid,
     receive
         join_game ->
-            gas:info(?MODULE,"OKEY BOT JOINED"),
+            gas:info(?MODULE,"OKEY BOT JOINED",[]),
             case call_rpc(S, #join_game{game = GameId}) of
                 {error, _Err} ->
                     gas:info(?MODULE,"ID: ~p failed take with msg ~p", [Id, _Err]),
@@ -330,7 +330,7 @@ do_turn(#state{delay = Delay} = State, Hand) ->
             end,
     true = is_list(Hand1),
     {TryDiscard, _} = draw_random(Hand1),
-    gas:info(?MODULE,"DO TURN"),
+    gas:info(?MODULE,"DO TURN",[]),
     simulate_delay(discard, Delay),
     do_discard(State, Hand1, TryDiscard).
 

+ 9 - 4
apps/server/src/okey/game_okey_ng_table_trn.erl

@@ -490,6 +490,10 @@ handle_relay_message({subscriber_added, PlayerId, SubscrId} = Msg, StateName,
                               end
                       end,
     if PlayerIdIsValid ->
+
+        GI = create_okey_game_info(StateData),
+        send_to_subscriber_ge(Relay, SubscrId, GI),
+
            PlState = create_okey_game_player_state(PlayerId, StateName, StateData),
            send_to_subscriber_ge(Relay, SubscrId, PlState),
            relay_allow_broadcast_for_player(Relay, PlayerId),
@@ -862,8 +866,9 @@ handle_desk_events([Event | Events], DeskState, Players, Relay) ->
                 DeskState#desk_state{hands = NewHands, discarded = NewDiskarded, state = state_discard};
             {taked_from_table, SeatNum, Tash} ->
                 [Tash | NewDeck] = Deck,
-                Msg = create_okey_tile_taken_table(SeatNum, Tash, length(NewDeck), Players),
-                relay_publish_ge(Relay, Msg),
+                [ send_to_client_ge(Relay, Id,
+                    create_okey_tile_taken_table(CSN, CurSeatNum, Tash, length(NewDeck), Players))
+                || #player{id = Id,seat_num = CSN} <- find_connected_players(Players) ],
                 {_, Hand} = lists:keyfind(SeatNum, 1, Hands),
                 NewHands = lists:keyreplace(SeatNum, 1, Hands, {SeatNum, [Tash | Hand]}),
                 DeskState#desk_state{hands = NewHands, deck = NewDeck, state = state_discard};
@@ -1295,11 +1300,11 @@ create_okey_tile_taken_discarded(SeatNum, Tash, PileHeight, Players) ->
                      pile_height = PileHeight}.
 
 
-create_okey_tile_taken_table(SeatNum, Tash, PileHeight, Players) ->
+create_okey_tile_taken_table(CSN, SeatNum, Tash, PileHeight, Players) ->
     #player{user_id = UserId} = get_player_by_seat_num(SeatNum, Players),
     #okey_tile_taken{player = UserId,
                      pile = 0, %% From the deck on the table
-                     revealed = tash_to_ext(Tash),
+                     revealed = case CSN == SeatNum of true -> tash_to_ext(Tash); _ -> null end,
                      pile_height = PileHeight}.