diff --git a/lib/answer.py b/lib/answer.py index a62ab58..b8a48ec 100644 --- a/lib/answer.py +++ b/lib/answer.py @@ -2,7 +2,7 @@ from random import randint class Answer: ''' - This class implements storage for an answer you want to conceil + This class implements storage for an answer you want to conceal and give clues 1 letter at a time. Methods: @@ -23,8 +23,8 @@ class Answer: else: self._masked_answer += i - def give_clue(self): - if self._answer == self._masked_answer: + def give_clue(self, clue_num): + if self._answer == self._masked_answer or clue_num == 0: return self._masked_answer letter = ' ' @@ -52,4 +52,7 @@ class Answer: def _reveal(self): return self._answer + def __len__(self): + return len(self._answer) + answer = property(_reveal) diff --git a/trivia.py b/trivia.py index 8ac4554..afe2e28 100755 --- a/trivia.py +++ b/trivia.py @@ -103,6 +103,8 @@ class triviabot(irc.IRCClient): ''' Implements the main loop of the game. ''' + answer_len = 0; + points = {0: 5, 1: 3, 2: 2, @@ -118,13 +120,25 @@ class triviabot(irc.IRCClient): self._gmsg("Next question:") self._gmsg(self._question) self._gmsg("Clue: %s" % self._answer.current_clue()) + answer_len = len(self._answer) self._clue_number += 1 # we must be somewhere in between elif self._clue_number < 4: self._current_points = points[self._clue_number] self._gmsg("Question:") self._gmsg(self._question) - self._gmsg('Clue: %s' % self._answer.give_clue()) + + answer_len = len(self._answer) + + if answer_len > 6: + self._gmsg('Clue: %s' % self._answer.give_clue(1)) + elif (answer_len == 5 or answer_len == 6) and self._clue_number < 3: + self._gmsg('Clue: %s' % self._answer.give_clue(1)) + elif (answer_len == 3 or answer_len == 4) and self._clue_number < 2: + self._gmsg('Clue: %s' % self._answer.give_clue(1)) + else: + self._gmsg('Clue: %s' % self._answer.give_clue(0)) + self._clue_number += 1 # no one must have gotten it. else: