diff options
Diffstat (limited to 'puzzle.py')
-rw-r--r-- | puzzle.py | 67 |
1 files changed, 47 insertions, 20 deletions
@@ -1,22 +1,49 @@ +# -*- coding: utf-8 -*- +import sys + +difficulties = { 'facil': 1, 'medio': 2, 'dificil': 3 } +topics = ['matematica', 'logica', 'memoria'] + +class Topic: + def __init__(self, new): + self.name = new + +class Difficulty: + def __init__(self, name): + self.name = name + self.level = difficulties[name] class Puzzle: - - class Topic: - def __init__(self, new): - self.name = new - class Difficulty: - def __init__(self, new): - self.name = new - - def __init__(self, archivo): - try: - dic = {} - exec(open(archivo).read(), dic) - self.question = dic['question'] - self.answer = dic['answer'] - self.topic = Topic(dic['topic']) - self.difficulty = Difficulty(dic['difficulty']) - self.score = int(dic['score']) - except: - print "Error" - + def __init__(self, archivo): + try: + dic = {} + exec(open(archivo).read(), dic) + self.question = dic['question'] + self.answer = dic['answer'] + self.image = dic['image'] + self.topic = Topic(dic['topic']) + self.difficulty = Difficulty(dic['difficulty']) + self.score = int(dic['score']) + if 'clue' in dic: + self.clue=dic['clue'] + else: + self.clue='' + self.answered=False + except KeyError: + print 'Falta un atributo.' + except: + print "Error" + print sys.exc_info()[0] + + def __str__(self): + return self.question + + def evaluateAnswer(self,answer): + self.answered=True + return self.answer==answer + + def hasClue(self): + self.clue!='' + + def getClue(self): + return self.clue |