Hi,

Here a patch to add a packet in client side (pokerexplain.py). This packet translate the player bet and player amount into chips stack unit. Like bet2pot, or player2bet packet. So now each poker_player_chips sent to the client is accompagned with a poker_client_player_chips. The patch add the functionality and an update of test related to update of chips of player.


Something not related with my patch:
I noticed that in test the chips stack unit works fine but when connected to the table like jspoker.pokersource.info:20380 gameid:121 the chips value seems to not be known because every packet generated on the client side after a normalize + a pokerchips the result is something like [1,5000]
Would it be possible the chips value are not sent to the clients ?

Cedric

--
+33 (0) 6 63 20 03 56  Cedric Pinson mailto:[EMAIL PROTECTED] 
http://www.plopbyte.net


Index: pokernetwork/pokerexplain.py
===================================================================
--- pokernetwork/pokerexplain.py        (revision 4409)
+++ pokernetwork/pokerexplain.py        (working copy)
@@ -148,6 +148,7 @@
                                             chips = self.normalizeChips(game, 
chips))
         packets.append(packet)
         packets.append(self.updatePlayerChips(game, player))
+        packets.append(self.explainPlayerChips(game, player))
         return packets
 
     def chipsBet2Pot(self, game, player, bet, pot_index):
@@ -165,8 +166,10 @@
                                          pot = pot_index)
         packets.append(packet)
         packets.append(self.updatePlayerChips(game, player))
+        packets.append(self.explainPlayerChips(game, player))
         return packets
         
+
     def chipsPot2Player(self, game, player, bet, pot_index, reason):
         packet = PacketPokerChipsPot2Player(game_id = game.id,
                                             serial = player.serial,
@@ -314,6 +317,7 @@
                         forward_packets.append(PacketPokerBoardCards(game_id = 
game.id, serial = self.getSerial()))
                         for serial in game.player_list:
                             
forward_packets.append(self.updatePlayerChips(game, game.serial2player[serial]))
+                            
forward_packets.append(self.explainPlayerChips(game, 
game.serial2player[serial]))
                         forward_packets.extend(self.updatePotsChips(game, []))
 
             elif packet.type == PACKET_POKER_CANCELED:
@@ -482,11 +486,8 @@
                     #
                     player = game.getPlayer(packet.serial)
                     player.buy_in_payed = True
-                    chips = PacketPokerPlayerChips(game_id = game.id,
-                                                   serial = packet.serial,
-                                                   money = player.money,
-                                                   bet = player.bet)
-                    forward_packets.append(chips)
+                    forward_packets.append(self.updatePlayerChips(game, 
player))
+                    forward_packets.append(self.explainPlayerChips(game, 
player))
 
             elif packet.type == PACKET_POKER_PLAYER_CHIPS:
                 player = game.getPlayer(packet.serial)
@@ -507,7 +508,9 @@
                     player.money = packet.money
                     if player.money > 0:
                         player.buy_in_payed = True
+                forward_packets.append(self.explainPlayerChips(game, player))
 
+
             elif packet.type == PACKET_POKER_FOLD:
                 game.fold(packet.serial)
                 if game.isSitOut(packet.serial):
@@ -652,7 +655,7 @@
 
         packets.extend(self.updatePotsChips(game, game.getPots()))
         return packets
-        
+
     #
     # Should be move all bets back to players (for uncalled bets)
     # This is a border case we don't want to handle right now
@@ -696,6 +699,15 @@
             games.remove(exclude)
         return PacketPokerCurrentGames(game_ids = games,
                                        count = len(games))
+
+    def explainPlayerChips(self, game, player):
+        packet = PacketPokerClientPlayerChips(game_id = game.id,
+                                              serial = player.serial,
+                                              bet = self.normalizeChips(game, 
player.bet),
+                                              money = 
self.normalizeChips(game, player.money) )
+        return packet
+                
+        
     
     def packetsPot2Player(self, game):
         packets = []
@@ -747,6 +759,7 @@
                 
         for player in game.serial2player.itervalues():
             packets.append(self.updatePlayerChips(game, player))
+            packets.append(self.explainPlayerChips(game, player))
         packets.extend(self.updatePotsChips(game, []))
         return packets
         
Index: tests/test-pokeravatar.py.in
===================================================================
--- tests/test-pokeravatar.py.in        (revision 4409)
+++ tests/test-pokeravatar.py.in        (working copy)
@@ -863,7 +863,7 @@
                 else:
                     ignored += 1
         self.assertEquals(found, 28)
-        self.assertEquals(ignored, 12)
+        self.assertEquals(ignored, 16)
         return (client, packet)
     # ------------------------------------------------------------------------
     def sitTable(self, (client, packet), id, gameId):
Index: tests/test-pokerexplain.py.in
===================================================================
--- tests/test-pokerexplain.py.in       (revision 4409)
+++ tests/test-pokerexplain.py.in       (working copy)
@@ -18,6 +18,7 @@
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA.
 #
 import sys
+import os
 sys.path.insert(0, "@srcdir@/..")
 sys.path.insert(0, "..")
 
@@ -126,7 +127,7 @@
             bet = 30
             money = 50
         packets = self.explain.chipsPlayer2Bet(PokerGame(), PokerPlayer(), 10)
-        self.assertEqual(2, len(packets))
+        self.assertEqual(3, len(packets))
         packet = packets[0]
         self.assertEqual(PACKET_POKER_CHIPS_PLAYER2BET, packet.type)
         self.assertEqual([1, 6, 2, 2], packet.chips)
@@ -147,13 +148,15 @@
 
         pot_index = 0
         packets = self.explain.chipsBet2Pot(PokerGame(), PokerPlayer(), 13, 
pot_index)
-        self.assertEqual(2, len(packets))
+        self.assertEqual(3, len(packets))
         packet = packets[0]
         self.assertEqual(PACKET_POKER_CHIPS_BET2POT, packet.type)
         self.assertEqual([1, 6, 2, 2], packet.chips)
         self.assertEqual(pot_index, packet.pot)
         packet = packets[1]
         self.assertEqual(PACKET_POKER_PLAYER_CHIPS, packet.type)
+        packet = packets[2]
+        self.assertEqual(PACKET_POKER_CLIENT_PLAYER_CHIPS, packet.type)
 
     def test07_chipsPot2Player(self):
         class PokerGame:
@@ -218,13 +221,15 @@
         event = ( "raise", player_serial, 20 )
         game.historyAdd(*event)
         self.assertEqual(True, self.explain.gameEvent(game_id, "money2bet", 
player_serial, 20))
-        self.assertEqual(4, len(self.explain.forward_packets))
+        self.assertEqual(5, len(self.explain.forward_packets))
         packet = self.explain.forward_packets[1]
         self.assertEqual(PACKET_POKER_HIGHEST_BET_INCREASE, packet.type)
         packet = self.explain.forward_packets[2]
         self.assertEqual(PACKET_POKER_CHIPS_PLAYER2BET, packet.type)
         packet = self.explain.forward_packets[3]
         self.assertEqual(PACKET_POKER_PLAYER_CHIPS, packet.type)
+        packet = self.explain.forward_packets[4]
+        self.assertEqual(PACKET_POKER_CLIENT_PLAYER_CHIPS, packet.type)
 
     def test08_gameEvent_bet2pot(self):
         self.explain.forward_packets = [ 'fake' ]
@@ -235,11 +240,13 @@
 
         game.current_round = -1
         self.assertEqual(True, self.explain.gameEvent(game_id, "bet2pot", 
player_serial, 20))
-        self.assertEqual(3, len(self.explain.forward_packets))
+        self.assertEqual(4, len(self.explain.forward_packets))
         packet = self.explain.forward_packets[1]
         self.assertEqual(PACKET_POKER_CHIPS_BET2POT, packet.type)
         packet = self.explain.forward_packets[2]
         self.assertEqual(PACKET_POKER_PLAYER_CHIPS, packet.type)
+        packet = self.explain.forward_packets[3]
+        self.assertEqual(PACKET_POKER_CLIENT_PLAYER_CHIPS, packet.type)
 
         
     def test08_gameEvent_round_cap_decrease(self):
@@ -337,12 +344,14 @@
                 return False
 
         packets = self.explain.moveBet2Pot(PokerGame())
-        self.assertEqual(4, len(packets))
+        self.assertEqual(5, len(packets))
         packet = packets[0]
         self.assertEqual(PACKET_POKER_CHIPS_BET2POT, packet.type)
         self.assertEqual([1, 6, 2, 6, 5, 1], packet.chips)
         packet = packets[1]
         self.assertEqual(PACKET_POKER_PLAYER_CHIPS, packet.type)
+        packet = packets[2]
+        self.assertEqual(PACKET_POKER_CLIENT_PLAYER_CHIPS, packet.type)
 
     def test15_updateBetLimit(self):
         game_id = 1
@@ -401,7 +410,7 @@
 
 
         packets = self.explain.packetsPot2Player(PokerGameChipsLeft())
-        self.assertEqual(3, len(packets))
+        self.assertEqual(4, len(packets))
         packet = packets[0]
         self.assertEqual(PACKET_POKER_CHIPS_POT2PLAYER, packet.type)
         self.assertEqual('left_over', packet.reason)
@@ -421,7 +430,7 @@
                 ]
 
         packets = self.explain.packetsPot2Player(PokerGameUncalled())
-        self.assertEqual(3, len(packets))
+        self.assertEqual(4, len(packets))
         packet = packets[0]
         self.assertEqual(PACKET_POKER_CHIPS_POT2PLAYER, packet.type)
         self.assertEqual('uncalled', packet.reason)
@@ -444,7 +453,7 @@
                 ]
 
         packets = self.explain.packetsPot2Player(PokerGameResolve())
-        self.assertEqual(4, len(packets))
+        self.assertEqual(5, len(packets))
         packet = packets[0]
         self.assertEqual(PACKET_POKER_CHIPS_POT_MERGE, packet.type)
         self.assertEqual([0], packet.sources)
@@ -475,7 +484,7 @@
                 ]
 
         packets = self.explain.packetsPot2Player(PokerGameResolve())
-        self.assertEqual(4, len(packets))
+        self.assertEqual(5, len(packets))
         packet = packets[0]
         self.assertEqual(PACKET_POKER_CHIPS_POT2PLAYER, packet.type)
         self.assertEqual("win", packet.reason)
@@ -601,10 +610,11 @@
         self.assertTrue(self.explain.explain(PacketPokerCanceled(game_id = 
game_id,
                                                                  serial = 
player_serial,
                                                                  amount = 
amount)))
-        self.assertEqual(5, len(self.explain.forward_packets))
+        self.assertEqual(6, len(self.explain.forward_packets))
         self.assertEqual(PACKET_POKER_CANCELED, 
self.explain.forward_packets[0].type)
         self.assertEqual(PACKET_POKER_CHIPS_BET2POT, 
self.explain.forward_packets[1].type)
         self.assertEqual(PACKET_POKER_PLAYER_CHIPS, 
self.explain.forward_packets[2].type)
+        self.assertEqual(PACKET_POKER_CLIENT_PLAYER_CHIPS, 
self.explain.forward_packets[3].type)
 
     def test26_explain_player_arrive(self):
         game_id = 1
@@ -987,8 +997,9 @@
         self.assertTrue(self.explain.explain(PacketPokerRebuy(game_id = 
game_id,
                                                               serial = 
player_serial,
                                                               amount = 
amount)))
-        self.assertEqual(1, len(self.explain.forward_packets))
+        self.assertEqual(2, len(self.explain.forward_packets))
         self.assertEqual(PACKET_POKER_PLAYER_CHIPS, 
self.explain.forward_packets[0].type)
+        self.assertEqual(PACKET_POKER_CLIENT_PLAYER_CHIPS, 
self.explain.forward_packets[1].type)
 
     def test38_explain_player_chips(self):
         game_id = 1
@@ -1005,10 +1016,14 @@
                                                                     serial = 
player_serial,
                                                                     money = 
money - 1,
                                                                     bet = bet 
- 1)))
-        self.assertEqual(1, len(self.explain.forward_packets))
+        self.assertEqual(2, len(self.explain.forward_packets))
         self.assertEqual(PACKET_POKER_PLAYER_CHIPS, 
self.explain.forward_packets[0].type)
         self.assertEqual(money - 1, player.money)
         self.assertEqual(bet - 1, player.bet)
+        self.assertEqual(PACKET_POKER_CLIENT_PLAYER_CHIPS, 
self.explain.forward_packets[1].type)
+        self.assertEqual([1, 7, 2, 2], self.explain.forward_packets[1].bet)
+        self.assertEqual([1, 7, 2, 5, 5, 1], 
self.explain.forward_packets[1].money)
+        
         self.failUnless(player.isBuyInPayed())
         #
         # override the money/bet
@@ -1017,10 +1032,13 @@
                                                                     serial = 
player_serial,
                                                                     money = 
money,
                                                                     bet = 
bet)))
-        self.assertEqual(1, len(self.explain.forward_packets))
+        self.assertEqual(2, len(self.explain.forward_packets))
         self.assertEqual(PACKET_POKER_PLAYER_CHIPS, 
self.explain.forward_packets[0].type)
         self.assertEqual(money, player.money)
         self.assertEqual(bet, player.bet)
+        self.assertEqual(PACKET_POKER_CLIENT_PLAYER_CHIPS, 
self.explain.forward_packets[1].type)
+        self.assertEqual([1, 6, 2, 3], self.explain.forward_packets[1].bet)
+        self.assertEqual([1, 6, 2, 6, 5, 1], 
self.explain.forward_packets[1].money)
 
     def test39_explain_win(self):
         game_id = 1
_______________________________________________
Pokersource-users mailing list
[email protected]
https://mail.gna.org/listinfo/pokersource-users

Reply via email to