예제 #1
0
 def normalizeChips(self, game, chips):
     if game.unit in self.chips_values:
         values = self.chips_values[self.chips_values.index(game.unit):]
     else:
         values = []
     chips_list = PokerChips(values, chips).tolist()
     return chips_list
예제 #2
0
 def normalizeChips(self, game, chips):
     if game.unit in self.factory.chips_values:
         values = self.factory.chips_values[self.factory.chips_values.index(game.unit):]
     else:
         values = []
     chips_list = PokerChips(values, chips).tolist()
     self.log.debug("normalizeChips: %s %s", chips_list, values)
     return chips_list
예제 #3
0
 def normalizeChips(self, game, chips):
     if game.unit in self.chips_values:
         values = self.chips_values[self.chips_values.index(game.unit):]
     else:
         values = []
     list = PokerChips(values, chips).tolist()
     if self.verbose > 4: self.message("normalizeChips: " + str(list) + " " + str(values))
     return list
예제 #4
0
    def test1(self):
        pokerchips.MAX_CHIPS_PER_STACK = 100
        values = [100, 200, 500, 1000, 2500]
        chips = PokerChips(values, 0)
        self.assertEqual(chips.chips, [0, 0, 0, 0, 0])

        chips = PokerChips(values, 20000)
        self.assertEqual(chips.toint(), 20000)
        self.assertEqual(chips.chips, [8, 6, 4, 6, 4])
        chips.add([150, 0, 0, 0, 0])
        self.assertEqual(chips.chips, [100, 35, 4, 6, 4])
        self.assertEqual(chips.toint(), 35000)

        chips = PokerChips(values, 20000)
        total = 20000 + sum(map(lambda x: x * 150, values))
        chips.add([150, 150, 150, 150, 150])
        self.assertEqual(chips.chips, [100, 100, 100, 100, 194])
        self.assertEqual(chips.toint(), total)

        chips = PokerChips(values, 20000)
        chips.subtract([0, 20, 0, 0, 0])
        self.assertEqual(chips.chips, [8, 6, 3, 5, 3])
        self.assertEqual(chips.toint(), 16000)

        chips = PokerChips(values, 600000)
        self.assertEqual(chips.chips, [8, 6, 4, 6, 236])

        chips = PokerChips(values)
        chips.add(600000)
        self.assertEqual(chips.chips, [8, 6, 4, 6, 236])

        chips = PokerChips(values)
        chips.set([200, 0, 0, 0, 0])
        self.assertEqual(chips.chips, [100, 50, 0, 0, 0])

        chips = PokerChips(values, 200)
        chips.subtract(250)
        self.assertEqual(chips.chips, [0, 0, 0, 0, 0])

        chips = PokerChips(values, 20000)
        self.assertEqual(chips.__str__(),
                         "PokerChips([8, 6, 4, 6, 4]) = 20000 (-0)")
        self.assertEqual(chips.__repr__(), "PokerChips([8, 6, 4, 6, 4])")
 class TestPacket(packets.Packet):
     info = packets.Packet.info + (
         ('f1', [1, 10], 'c'),
         ('f2',
          [PokerChips([1], [3]),
           PokerCards([255, 255]), ["a", 1]], 'j'),
     )
     fields = (
         "\x0a",  # type
         "\0\0",  # length
         "\0\0\0\x0a",  # f1
         '\x00-[["Chips", 3], ["Cards", 255, 255], ["a", 1]]',  # f2
     )
     binary = fields[0] + pack('!H', len("".join(fields))) + "".join(
         fields[2:])
예제 #6
0
 def decode_objects(something):
     if type(something) is types.ListType:
         if something[0] in ('Cards', 'Chips'):
             if something[0] == 'Cards':
                 return PokerCards(something[1:])
             elif something[0] == 'Chips':
                 return PokerChips([1], [something[1]])
         else:
             return map(PokerClientPacketJSON.decode_objects, something)
     elif type(something) is types.DictType:
         return dict(
             map(
                 lambda
                 (k, v): [k, PokerClientPacketJSON.decode_objects(v)],
                 something.iteritems()))
     else:
         return something