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