#!/usr/bin/python

import time, sys
sys.path.append('/opt/tuxdroid/api/python')
from tux import *
import pickle
from random import randrange

# Tux speak the text   
def tux_speak(text):
    tux.cmd.mouth_open()
    tux.tts.speak(text)
    tux.cmd.mouth_close()

tux.cmd.eyes_open()
tux.cmd.leds_on()
tux.cmd.mouth_close()
A = RIGHT_WING_BT
B = LEFT_WING_BT

Questions = open('questions', 'r') # ouverture du fichier
questions = Questions.readlines()  # chargement dans une liste
i = 0	# premiere question

class Question:
    """Question pour le jeu"""
    def __init__(self, question, bonneR, mauvaiseR):
        self.question = question
        self.bonneR = bonneR
        self.mauvaiseR = mauvaiseR
        self.temps = 10

while (3*i < (len(questions) - 2)):
	questActuelle = Question(questions[3*i],questions[3*i+1],questions[3*i+2]) # chargement de la question
	rand = randrange(2) # choix au hasard de l'ordre des reponses.
	if rand == 1:
		reponseA = questActuelle.bonneR
		reponseB = questActuelle.mauvaiseR
		BR = A
	else:
		reponseB = questActuelle.bonneR
		reponseA = questActuelle.mauvaiseR
		BR = B
	tux_speak("Voici la question : " + questActuelle.question) # le tux pose la question
	tux.cmd.ledl_off()
	tux_speak("Reponse A : " + reponseA)
	tux.cmd.ledl_on()
	tux.cmd.ledr_off()
	tux_speak("Reponse B : " + reponseB)
	heure = time.clock()
	tux.cmd.leds_on()
	bouton = tux.event.wait_bt_pushed(questActuelle.temps) # attente d'une reponse
	if (bouton == BR):
		tux_speak("Bravo, c'est la bonne reponse!") # good awnser
		i = i + 1 # question suivante
	else:
		tux.cmd.wings_on_free(6)
		tux.cmd.sound_play(8,0)
		tux_speak("C'est perdu!") # you loose
		break # fin du jeu

tux_speak("Fin du jeu! Vous avez obtenu "+str(i)+" points.")
tux.cmd.eyes_open()
tux.cmd.leds_on()
tux.cmd.mouth_close()

tux.destroy()
