Exemplo n.º 1
0
 def __separateMelds(self, tileString):
     """build a meld list from the hand string"""
     # no matter how the tiles are grouped make a single
     # meld for every bonus tile
     # we need to remove spaces from the hand string first
     # for building only pairs with length 2
     splits = tileString.split()
     rest = ''
     for split in splits:
         if split[0] == 'R':
             rest = split[1:]
         else:
             meld = Meld(split)
             self.melds.append(meld)
             self.declaredMelds.append(meld)
     if rest:
         rest = sorted([rest[x:x+2] for x in range(0, len(rest), 2)])
         self.__split(rest)
     self.melds = sorted(self.melds, key=meldKey)
     for meld in self.melds:
         if not meld.isValid():
             raise Exception('%s has an invalid meld: %s' % (self.string, meld.joined))
     self.__categorizeMelds()
Exemplo n.º 2
0
 def __separateMelds(self, tileString):
     """build a meld list from the hand string"""
     # no matter how the tiles are grouped make a single
     # meld for every bonus tile
     # we need to remove spaces from the hand string first
     # for building only pairs with length 2
     splits = tileString.split()
     rest = ''
     for split in splits:
         if split[0] == 'R':
             rest = split[1:]
         else:
             meld = Meld(split)
             self.melds.append(meld)
             self.declaredMelds.append(meld)
     if rest:
         rest = sorted([rest[x:x + 2] for x in range(0, len(rest), 2)])
         self.__split(rest)
     self.melds = sorted(self.melds, key=meldKey)
     for meld in self.melds:
         if not meld.isValid():
             raise Exception('%s has an invalid meld: %s' %
                             (self.string, meld.joined))
     self.__categorizeMelds()