Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoberto Cristaldo <rcristal@gmail.com>2013-01-28 18:29:47 (GMT)
committer Roberto Cristaldo <rcristal@gmail.com>2013-01-28 18:29:47 (GMT)
commit5208132d92a66faf3646977fe779445843151abf (patch)
tree8db84ea197ffa28d57ea4e7ac7e89cf83ba5c333
parent4a35f8d15e25fcea54c499442bf34bf33ddb1992 (diff)
Encapsulamiento mejorado
-rwxr-xr-xEjemplo.py16
-rwxr-xr-xelephant.py33
2 files changed, 27 insertions, 22 deletions
diff --git a/Ejemplo.py b/Ejemplo.py
index e4265b6..1d01cd2 100755
--- a/Ejemplo.py
+++ b/Ejemplo.py
@@ -31,19 +31,23 @@ def main():
print 'Indice %s y letra %s' %(letter_to_say_index, letter_to_say)
- all_indexes = choice_letter.get_all_indexes(word, letter_to_say)
+ # all_indexes = choice_letter.get_all_indexes(word, letter_to_say)
+ all_indexes = choice_letter.all_indexes
print 'Todos los indices validos %s' %all_indexes
- false_choices = choice_letter.get_false_options(word, all_indexes)
+ #false_choices = choice_letter.get_false_options(word, all_indexes)
+ false_choices = choice_letter.false_options
print 'Opciones invalidas %s. No tienen que coincidir con los validos' \
%false_choices
- relative_place = choice_letter.get_relative_place( \
- letter_to_say_index, \
- all_indexes)
+ #relative_place = choice_letter.get_relative_place( \
+ # letter_to_say_index, \
+ # all_indexes)
+ relative_place = choice_letter.relative_place
print 'Lugar relativo %s' %relative_place
- place_word = choice_letter.translate_relative_place(relative_place)
+ #place_word = choice_letter.translate_relative_place(relative_place)
+ place_word = choice_letter.place_word
print 'Lugar relativo %s' %place_word
speech_to_say = 'Donde esta la '
diff --git a/elephant.py b/elephant.py
index fc22814..5d5383b 100755
--- a/elephant.py
+++ b/elephant.py
@@ -24,16 +24,6 @@ class word_list:
return category_list
- # Get all words from a specifir category
- #def get_words_in_category(self, category):
- # parser = ConfigParser.SafeConfigParser()
- # parser.read(CONF_FILE)
- #
- # word_list = parser.options(category)
- #
- # return word_list
-
- # Get all words form config file
def get_word_list(self):
parser = ConfigParser.SafeConfigParser()
parser.read(CONF_FILE)
@@ -58,6 +48,15 @@ class letters:
def __init__(self, word):
self.letter_index, self.letter = self._get_letter_index(word)
+ self.all_indexes = self._get_all_indexes(word, self.letter)
+
+ self.false_options = self._get_false_options(word, self.all_indexes)
+
+ self.relative_place = self._get_relative_place(self.letter_index, \
+ self.all_indexes)
+
+ self.place_word = self._translate_relative_place(self.relative_place)
+
# Return a random letter for a given word and index
def _get_letter_index(self, word):
@@ -72,7 +71,7 @@ class letters:
return letter_index+1, letter
# Return list of indexes for every ocurrence ot the letter in the word.
- def get_all_indexes(self, word, letter):
+ def _get_all_indexes(self, word, letter):
# Init vars
word_len = len(word)
@@ -88,7 +87,7 @@ class letters:
return indexes
# Return false options non-overlaping with true options
- def get_false_options(self, word, true_indexes):
+ def _get_false_options(self, word, true_indexes):
word_len = len(word)
#parser = ConfigParser.SafeConfigParser()
@@ -97,9 +96,11 @@ class letters:
#false_options = parser.get(MAIN_SECTION, 'Falseoptions')
false_choices = []
- for i in [1, 2]:
+
+ for i in range(0, 2):
false_choice = random.randrange(word_len)
- if (false_choice in true_indexes) == True:
+ if (false_choice in true_indexes or \
+ false_choice in false_choices) == True:
pass
else:
false_choices.append(false_choice)
@@ -109,7 +110,7 @@ class letters:
# Return the relative place of a letter in case there are multiples
# ocurrences of the letter. False in case there are only one.
- def get_relative_place(self, letter_index, true_indexes):
+ def _get_relative_place(self, letter_index, true_indexes):
if len(true_indexes) == 1:
return False
@@ -120,7 +121,7 @@ class letters:
# Translate relative place to words
- def translate_relative_place(self, relative_place):
+ def _translate_relative_place(self, relative_place):
if relative_place == False:
return False