Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/User.py
blob: 1e173fad89899e2d168644c17730d7c2fff31a3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env python
class User:
	def __init__(self, bag):
		''' Initialize the Computer class.
			
			@param bag: the bag with letters.
		'''
		self.__letters = bag.remove_letters()
				
	
	def get_letters(self):
		''' Return the list of Letters.
			
			@return: the list of elements.
		'''		
		return self.__letters
		
	def letters_length(self):
		''' Return the length of the list of Letters.
			
			@return: the number of elements.
		'''
		return len(self.__letters)
	
	def get_letter_at(self, index):
		''' Get the letter at the specified index of the list.
			
			@param index: the index
			@return: the Letter
		'''		
		return self.__letter[index]
	
	def add_letter(self, letter):
		''' Add a new Letter to the list of Letters.
			
			@param letter: the new Letter.
		'''
		self.__letters.append(letter)
	
		
	def swap_letters(self, bag, letters):
		''' Return the given list of Letters to the bag, and take
			the same amount from the bag.
			
			@param bag: the bag
			@param letters: the list of Letters.
			@return: True if it is possible otherwise False.
		'''
		from_bag = bag.remove_letters(len(letters))
		if from_bag == -1:
			return False
		elif len(from_bag) == len(letters):
			bag.add_letters(letters)
			for l in letters:
				self.get_letters().remove(l)
			for l in from_bag:
				self.add_letter(l)
			return True
		else:
			bag.add_letters(from_bag)
			return False