Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter D. Vargas <pynash@gmail.com>2010-08-24 01:54:33 (GMT)
committer Walter D. Vargas <pynash@gmail.com>2010-08-24 01:54:33 (GMT)
commit2c899f61103f988c113341cb20ddd7aa86163b4e (patch)
tree87fa7fa96f280f605174d6b94e20fca31cffc552
Practicando subida del Dictado con GIT
-rw-r--r--1a.txt4
-rw-r--r--1b.txt4
-rw-r--r--1c.txt3
-rw-r--r--Dictado.py247
-rw-r--r--nivel.txt1
5 files changed, 259 insertions, 0 deletions
diff --git a/1a.txt b/1a.txt
new file mode 100644
index 0000000..35ec750
--- /dev/null
+++ b/1a.txt
@@ -0,0 +1,4 @@
+mamá
+papá
+memo
+gato
diff --git a/1b.txt b/1b.txt
new file mode 100644
index 0000000..d2d16d6
--- /dev/null
+++ b/1b.txt
@@ -0,0 +1,4 @@
+perro
+raton
+rata
+ratonera
diff --git a/1c.txt b/1c.txt
new file mode 100644
index 0000000..edc676e
--- /dev/null
+++ b/1c.txt
@@ -0,0 +1,3 @@
+caramelo
+camello
+caballo
diff --git a/Dictado.py b/Dictado.py
new file mode 100644
index 0000000..89a76e3
--- /dev/null
+++ b/Dictado.py
@@ -0,0 +1,247 @@
+"""Desarrollo de un Dictado Robotizida o_0"""
+
+#written by Walter. D. Vargas <pynash@gmail.com>
+
+# -*- coding: utf-8 -*-
+
+import pygtk
+import gtk
+
+import subprocess
+import glib
+import logging
+
+_logger = logging.getLogger()
+_logger.setLevel(logging.DEBUG)
+
+class Dictado:
+ def __init__(self):
+ #main window
+ self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
+ self.window.connect("delete_event", self._delete_event_cb)
+ self.window.set_title("Dictado")
+ self.window.set_border_width(10)
+
+ #levels
+ self.words = []
+ self.nivel = []
+
+ #left container
+ self.contenedor_izq = gtk.VBox()
+
+ self.label_info = gtk.Label("Inicio de Juego")
+ self.label_info.set_sensitive(1)
+ self.contenedor_izq.pack_start(self.label_info, False, False, 0)
+ self.label_info.show()
+
+ self.comenzar_dictado = gtk.Button(" Comenzar Dictado ")
+ self.comenzar_dictado.set_sensitive(1)
+ self.comenzar_dictado.connect("clicked", self._dictar_cb)
+
+ self.cancelar = gtk.Button(" Cancelar ")
+ self.cancelar.set_sensitive(0)
+ self.cancelar.connect("clicked", self._cancela_cb, 0)
+
+ self.salir = gtk.Button(" Salir ")
+ self.salir.connect("clicked", self._salir_cb)
+
+
+ self.opciones = gtk.HBox()
+ self.opciones.pack_start(self.comenzar_dictado, False, False, 40)
+ self.opciones.pack_start(self.cancelar, False, False, 40)
+ self.opciones.pack_start(self.salir, False, False, 40)
+ self.comenzar_dictado.show()
+ self.cancelar.show()
+ self.salir.show()
+
+ self.contenedor_izq.pack_start(self.opciones, False, False, 10)
+ self.opciones.show()
+
+
+
+ self.palabra = gtk.Label()
+ self.hbox_repeat = gtk.HBox()
+ self.hbox_repeat.pack_start(self.palabra, False, False, 80)
+ self.palabra.show()
+
+ self.repetir = gtk.Button("Repetir palabra")
+ self.repetir.set_sensitive(0)
+ self.hbox_repeat.pack_start(self.repetir, False, False, 0)
+ self.repetir.show()
+ self.repetir.connect("clicked", self._repeat_cb)
+
+ self.jugar_again = gtk.Button("Volver a Jugar")
+ self.jugar_again.connect("clicked", self._again_cb)
+ self.jugar_again.set_sensitive(0)
+ self.hbox_repeat.pack_start(self.jugar_again, False, False, 0)
+ self.jugar_again.show()
+
+ self.contenedor_izq.pack_start(self.hbox_repeat, False, False, 0)
+ self.hbox_repeat.show()
+
+ #Aqui va entry y aceptar
+ self.hbox = gtk.HBox()
+
+ self.texto = gtk.Entry(100)
+ self.texto.set_sensitive(0)
+ self.hbox.pack_start(self.texto, False, False, 0)
+ self.texto.show()
+
+ self.aceptar = gtk.Button(" Aceptar ")
+ self.aceptar.set_sensitive(0)
+ self.aceptar.connect("clicked", self._aceptar_cb)
+ self.hbox.pack_start(self.aceptar, False, False, 10)
+ self.aceptar.show()
+
+ self.contenedor_izq.pack_start(self.hbox, False, False, 0)
+ self.hbox.show()
+ #end left container
+
+ #container with container right and left
+ self.hbox = gtk.HBox()
+ self.hbox.pack_start(self.contenedor_izq, False, False, 0)
+ #self.hbox.pack_start(self.contenedor_der, False, False, 0)
+ self.contenedor_izq.show()
+ #self.contenedor_der.show()
+
+ self.window.add(self.hbox)
+ self.hbox.show()
+ self.window.show()
+
+ self.num_clic = 0
+ self.aciertos = 0
+
+ def _again_cb(self, widget):
+ self._activa_desactiva_cb(1)
+ self._act_desact_operacion_cb(0)
+ widget.set_sensitive(0)
+ self.label_info.set_label("Inicio de Juego")
+
+ def _repeat_cb(self, widget):
+ subprocess.call("espeak -s 100 -v es-sc --stdout %s | aplay" % self.words[self.num_clic], shell=True)
+
+ #autoFunction
+ def _autocall_cb(self, time, widget):
+ glib.timeout_add(time, self._pc, widget)
+
+ #machine's action
+ def _pc(self, widget):
+ #if self.palabra.get_text() in self.words:
+ if self.num_clic < (len(self.words)):
+ self.palabra.set_text(self.words[self.num_clic])
+ subprocess.call("espeak -s 100 -v es-sc --stdout %s | aplay" % self.words[self.num_clic], shell=True)
+ #if (self.num_clic != (len(self.words))):
+ # pass
+ else:
+ if self.aciertos == len(self.words):
+ if self.nivel != 3:
+ self.nivel += 1
+ self._write_cb("nivel.txt", str(self.nivel))
+ self.aciertos = 0
+ self.num_clic = 0
+ self.comenzar_dictado.set_sensitive(1)
+ self.cancelar.set_sensitive(0)
+ self._act_desact_operacion_cb(0)
+ self.label_info.set_text("Has avanzado al Siguiente Nivel")
+ self.palabra.set_text("")
+ else:
+ self.label_info.set_label("Has Concluido exitosamente")
+ self._write_cb("nivel.txt", str(1))
+ self.aciertos = 0
+ self.num_clic = 0
+ self.cancelar.set_sensitive(0)
+ self._act_desact_operacion_cb(0)
+ self.jugar_again.set_sensitive(1)
+ self.palabra.set_text("")
+ else:
+ self.palabra.set_text("")
+ self.label_info.set_text("has fallado!")
+ self.num_clic = 0
+ self.aciertos = 0
+ self._act_desact_operacion_cb(0)
+ self.cancelar.set_sensitive(0)
+ self.comenzar_dictado.set_sensitive(1)
+
+ def _aceptar_cb(self, widget, data=None):
+ if self.texto.get_text() != "":
+ self.num_clic += 1
+ if self.texto.get_text() == self.words[(self.num_clic)-1]:
+ self._autocall_cb(100, self.palabra)#3 es tiempo
+ self.aciertos += 1
+ else:
+ self._autocall_cb(100, self.palabra)#3 es tiempo
+ self.texto.set_text("")
+
+
+ def _dictar_cb(self, widget, data=None):
+ self.cancelar.set_sensitive(1)
+ self.comenzar_dictado.set_sensitive(False)
+ self._act_desact_operacion_cb(1)
+ self.nivel = self._open_nivel("nivel.txt")
+ self.nivel = int(self.nivel[0])
+ if self.nivel == 1:
+ self.label_info.set_label("Nivel 1")
+ self.words = self._open_file("1a.txt")
+ self.palabra.set_text(self.words[0])
+ subprocess.call("espeak -s 100 -v es-sc --stdout %s | aplay" % self.words[0], shell=True)
+ elif self.nivel == 2:
+ self.label_info.set_label("Nivel 2")
+ self.words = self._open_file("1b.txt")
+ self.palabra.set_text(self.words[0])
+ subprocess.call("espeak -s 100 -v es-sc --stdout %s | aplay" % self.words[0], shell=True)
+ else:
+ self.label_info.set_label("Nivel 3")
+ self.words = self._open_file("1c.txt")
+ self.palabra.set_text(self.words[0])
+ subprocess.call("espeak -s 100 -v es-sc --stdout %s | aplay" % self.words[0], shell=True)
+
+ def _activa_desactiva_cb(self, i):
+ self.comenzar_dictado.set_sensitive(i)
+ #self.cancelar.set_sensitive(i)
+
+ def _act_desact_operacion_cb(self, i):
+ self.texto.set_sensitive(i)
+ self.aceptar.set_sensitive(i)
+ self.repetir.set_sensitive(i)
+
+ def _cancela_cb(self, widget, i ):
+ self.label_info.set_text("Inicio de juego")
+ self._activa_desactiva_cb(1)
+ self._act_desact_operacion_cb(0)
+ self.cancelar.set_sensitive(0)
+ self.num_clic = 0
+ self.palabra.set_text("")
+
+ def _open_nivel(self, file):
+ line = []
+ with open(file, "r") as file:
+ line.append((file.readline()).strip())
+ return line
+
+ def _open_file(self, file):
+ list = []
+ with open(file, "r") as file:
+ list1 = file.readlines()
+ for i in list1:
+ list.append(i.strip())
+ return list
+
+ def _write_cb(self, file, x):
+ with open(file, "w") as file:
+ file.write(x)
+
+ def _delete_event_cb(self, widget, event, data=None):
+ gtk.main_quit()
+ return False
+
+ def _salir_cb(self, widget, data=None):
+ gtk.main_quit()
+ return False
+
+ def main(self):
+ gtk.main()
+ return 0
+
+if __name__=="__main__":
+ d = Dictado()
+ d.main()
diff --git a/nivel.txt b/nivel.txt
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/nivel.txt
@@ -0,0 +1 @@
+1 \ No newline at end of file