diff options
Diffstat (limited to 'elements.py')
-rwxr-xr-x | elements.py | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/elements.py b/elements.py index 2e57470..56d606a 100755 --- a/elements.py +++ b/elements.py @@ -346,25 +346,35 @@ class Bag: def remove_letters(self, amount = constants.DEFAULT_AMOUNT_LETTERS): - ''' Removes letters from the bag + ''' Removes Letters from the bag @param size: the amount of letters that are going to be removed @return: the letters removed. ''' + # format "letter": (count, score) removed = [] - - - # implementar.... - + i = 0 + while i < amount: + for key, data in self.get_bag_letters().items(): + if random.randint(0 , 1) and i < amount: + if data[0] > 0: + removed.append(Letter(key, data[1])) + self.get_bag_letters()[key] = (data[0] - 1, data[1]) + i = i + 1 return removed - + + def add_letters(self, letters): ''' Add letters to the bag - @param letters: the list of Letters that are going to be added + @param letters: the list of letters that are going to be added ''' - # implementar.... + for l in letters: + count , score = self.get_bag_letters()[l] + self.get_bag_letters()[l] = (count + 1, score) + + def get_bag_letters(self): ''' Get the bag of letters ''' return self.__bag_letters |