Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/elements.py
diff options
context:
space:
mode:
Diffstat (limited to 'elements.py')
-rwxr-xr-xelements.py26
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