#!/usr/bin/python import gtk import gobject import random from ConfigParser import SafeConfigParser from subprocess import Popen class MyApp(): def __init__(self): self.load_data() self.cargar_ui() self.flag=0 self.p='' def load_data(self): parser=SafeConfigParser() parser.read('config.ini') words= parser.get('inicio','patron') self.say (words) def controlar_patrones(self): while(self.i < 4): if (self.patron[self.i]==self.key_name): self.say(self.patron[self.i]) self.i+=1 self.flag=0 break else: self.say(self.patron[self.i]+'Incorrecto Vuelva a escuchar los patrones e intentelo de nuevo'+self.p) self.i=0 break def leer_patrones(self): self.say(self.p) self.i=0 self.flag=1 def generar_patrones(self): if (self.flag==0): self.patron=['arriba','abajo','izquierda', 'derecha'] random.shuffle(self.patron) self.p=" ".join(self.patron) self.hbox.remove(self.image1) self.hbox.remove(self.image2) self.hbox.remove(self.image3) self.hbox.remove(self.image4) self.image1=gtk.Image() self.image1.set_from_file('imagenes/'+self.patron[0]+'.png') self.image1.show() self.hbox.pack_start(self.image1) self.image2=gtk.Image() self.image2.set_from_file('imagenes/'+self.patron[1]+'.png') self.image2.show() self.hbox.pack_start(self.image2) self.image3=gtk.Image() self.image3.set_from_file('imagenes/'+self.patron[2]+'.png') self.image3.show() self.hbox.pack_start(self.image3) self.image4=gtk.Image() self.image4.set_from_file('imagenes/'+self.patron[3]+'.png') self.image4.show() self.hbox.pack_start(self.image4) self.leer_patrones() def cargar_ui(self): window = gtk.Window() vbox = gtk.VBox() self.hbox = gtk.HBox() label = gtk.Label() window.connect('destroy', self.destroy) window.connect('key-press-event', self.__key_press_cb, label) window.add(vbox) vbox.add(self.hbox) self.image1=gtk.Image() self.image1.set_from_file('imagenes/derecha.png') self.image1.show() self.hbox.pack_start(self.image1) self.image2=gtk.Image() self.image2.set_from_file('imagenes/izquierda.png') self.image2.show() self.hbox.pack_start(self.image2) self.image3=gtk.Image() self.image3.set_from_file('imagenes/arriba.png') self.image3.show() self.hbox.pack_start(self.image3) self.image4=gtk.Image() self.image4.set_from_file('imagenes/abajo.png') self.image4.show() self.hbox.pack_start(self.image4) window.show_all() def destroy(self, window, data=None): gtk.main_quit() def __key_press_cb(self, window, event, label): self.key_name = gtk.gdk.keyval_name(event.keyval) if (self.key_name=='Up'): self.say ('Arriba') self.key_name='arriba' if(self.p != ''): self.controlar_patrones() elif (self.key_name=='Down'): self.say ('Abajo') self.key_name='abajo' if(self.p != ''): self.controlar_patrones() elif (self.key_name=='Left'): self.say ('Izquierda') self.key_name='izquierda' if(self.p != ''): self.controlar_patrones() elif (self.key_name=='Right'): self.say ('Derecha') self.key_name='derecha' if(self.p != ''): self.controlar_patrones() elif (self.key_name=='space'): if(self.flag==0): self.generar_patrones() else: self.say(self.p) else: self.say('Tecla incorrecta') def say(self, text): Popen(['espeak', '-v', 'es', text]) if __name__ == "__main__": my_app = MyApp() gtk.main()