From cc082e2334e9e32385f0086f98d30339a8232d45 Mon Sep 17 00:00:00 2001 From: Yader Velásquez Date: Mon, 30 Jan 2012 22:34:21 +0000 Subject: bugs fixed --- diff --git a/MANIFEST b/MANIFEST index 598b7ef..e69de29 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,81 +0,0 @@ -ROADMAP -utils.py -setup.py -activity.py -activity/icono.sugar.svg -activity/icono.svg -activity/activity.info -resources/sindiente2.png -resources/nivel1.palabra -resources/nivel5.palabra -resources/nivel3.palabra -resources/estados.svg -resources/sindiente3.png -resources/sindiente4.png -resources/nivel2.palabra -resources/sindiente1.png -resources/nivel7.palabra -resources/lista_palabras.es.txt -resources/nivel6.palabra -resources/nivel4.palabra -resources/personaje_5/5.png -resources/personaje_5/7.png -resources/personaje_5/1.png -resources/personaje_5/3.png -resources/personaje_5/8.png -resources/personaje_5/00.png -resources/personaje_5/6.png -resources/personaje_5/4.png -resources/personaje_5/2.png -resources/personaje_5/0.png -resources/personaje_6/5.png -resources/personaje_6/7.png -resources/personaje_6/1.png -resources/personaje_6/3.png -resources/personaje_6/8.png -resources/personaje_6/00.png -resources/personaje_6/6.png -resources/personaje_6/4.png -resources/personaje_6/2.png -resources/personaje_6/0.png -resources/personaje_4/5.png -resources/personaje_4/7.png -resources/personaje_4/1.png -resources/personaje_4/3.png -resources/personaje_4/8.png -resources/personaje_4/00.png -resources/personaje_4/6.png -resources/personaje_4/4.png -resources/personaje_4/2.png -resources/personaje_4/0.png -resources/personaje_2/5.png -resources/personaje_2/7.png -resources/personaje_2/1.png -resources/personaje_2/3.png -resources/personaje_2/8.png -resources/personaje_2/00.png -resources/personaje_2/6.png -resources/personaje_2/4.png -resources/personaje_2/2.png -resources/personaje_2/0.png -resources/personaje_3/5.png -resources/personaje_3/7.png -resources/personaje_3/1.png -resources/personaje_3/3.png -resources/personaje_3/8.png -resources/personaje_3/00.png -resources/personaje_3/6.png -resources/personaje_3/4.png -resources/personaje_3/2.png -resources/personaje_3/0.png -resources/personaje_1/5.png -resources/personaje_1/7.png -resources/personaje_1/1.png -resources/personaje_1/3.png -resources/personaje_1/8.png -resources/personaje_1/00.png -resources/personaje_1/6.png -resources/personaje_1/4.png -resources/personaje_1/2.png -resources/personaje_1/0.png -po/Sindiente.pot diff --git a/activity.py b/activity.py index fff4614..45a3a3c 100644 --- a/activity.py +++ b/activity.py @@ -362,7 +362,7 @@ class Sindiente(activity.Activity): else: contenido = utils.palabra_aleatoria(self.sugar_data, self.nivel) _logger.warning(contenido) - self.palabra = contenido[0] + self.palabra = unicode(contenido[0], "utf-8") self.texto_pista = contenido[1] self.significado = contenido[2] @@ -548,12 +548,14 @@ class Sindiente(activity.Activity): #Convierte la letra a minuscula letra_actual = self.palabra_entry.get_text().lower() - + letra_actual = unicode(letra_actual, "utf-8") #Divive en dos palabras if ' ' in self.palabra: longitud_palabra = len(self.palabra) - 1 else: longitud_palabra = len(self.palabra) + + _logger.debug(letra_actual) #Evalua si se escribio mas de 1 letra o esta vacio if (len(letra_actual) is not 1 or letra_actual == " "): self.palabra_entry.set_text('') @@ -628,7 +630,7 @@ class Sindiente(activity.Activity): for letra in self.palabra: if letra in self.l_aciertos: pista += '%s ' % letra - elif letra is not ' ': #no pintar espacios + elif letra != ' ': #no pintar espacios pista += '_ ' else: pista += ' ' diff --git a/activity/.activity.info.swp b/activity/.activity.info.swp deleted file mode 100644 index 202d888..0000000 --- a/activity/.activity.info.swp +++ /dev/null Binary files differ diff --git a/ahorcado.py b/ahorcado.py deleted file mode 100755 index 22f1208..0000000 --- a/ahorcado.py +++ /dev/null @@ -1,235 +0,0 @@ -# -*- coding: UTF-8 -*- -#Ahorcado -import gtk -import logging -from gettext import gettext as _ -from sugar.activity import activity -from os.path import exists -from datetime import datetime -import pickle - -import utils - -_logger = logging.getLogger('ahorcado-activity') -_logger.setLevel(logging.DEBUG) - -class Ahorcado: - - def __init__(self): - - #ventana - self.ventana = gtk.Window() - self.ventana.set_title(_('Ahorcado')) - self.ventana.connect('key-press-event', self._key_press_cb) - self.ventana.connect('destroy', self._destroy_cb) - - #contenedores - self.contenedor = gtk.VBox() - self.ventana.add(self.contenedor) - - self.contenedor_superior = gtk.HBox() - self.contenedor_inferior= gtk.HBox() - - self.contenedor.pack_start(self.contenedor_superior) - self.contenedor.pack_start(self.contenedor_inferior, expand=False) - - """self.contenedor_puntaje = gtk.VBox()#desde aca lleva interface de los tres mejores puntajes - - self.primero_label = gtk.Label("Primer Puntaje : " % load_puntaje()) - - self.contenedor_puntaje.pack_start(self.primero_label, False, False, 0) - - """ - - - self.subcontenedor= gtk.VBox() - - #interface - self.imagen = gtk.Image() - self.instrucciones_label = gtk.Label(_('Instrucciones')) - self.instrucciones_label.set_justify(gtk.JUSTIFY_FILL) - self.instrucciones_label.set_line_wrap(gtk.TRUE) - self.aciertos_label = gtk.Label('Puntaje: 0') - self.errores_label = gtk.Label() - self.palabra_label = gtk.Label() - self.letrasusadas_label = gtk.Label(_('Letras Usadas: ')) - self.palabra_entry = gtk.Entry() - self.ok_btn = gtk.Button(_('Ok')) - self.ok_btn.connect('clicked', self._ok_btn_clicked_cb, None) - self.nuevojuego_btn = gtk.Button(_('Nuevo Juego')) - self.nuevojuego_btn.connect('clicked', self._nuevojuego_btn_clicked_cb, None) - self._cambiar_imagen(0) - - self.aciertos = 0 #Cuenta los aciertos de letras en la palabra secreta - self.lista_record = self.load_puntaje() - self._creacion() # Crea las variables necesarias para el comienzo del juego - - #agregando elementos - self.contenedor_superior.pack_start(self.imagen) - self.contenedor_superior.pack_start(self.subcontenedor) - self.subcontenedor.pack_start(self.instrucciones_label) - self.subcontenedor.pack_start(self.aciertos_label) - self.subcontenedor.pack_start(self.letrasusadas_label) - self.subcontenedor.pack_start(self.errores_label) - self.subcontenedor.pack_start(self.palabra_label) - self.subcontenedor.pack_start(self.nuevojuego_btn) - - self.contenedor_inferior.pack_start(self.palabra_entry) - self.contenedor_inferior.pack_start(self.ok_btn, False) - - self.contenedor.show_all() - self.nuevojuego_btn.hide() - self.ventana.show() - - def _creacion(self): - '''Crea las variables necesarias para el comienzo del juego''' - self.errores = 0 #Cuenta los errores de letras en la palabra secreta - self.l_aciertos = [] #Lista de letras acertadas en la palabra secreta - self.l_errores = [] #Lista de letras erradas en la palabra secreta - self.palabra, self.significado = utils.palabra_aleatoria() - self.aciertos_label.set_text(_('Puntaje: %s' % self.aciertos)) - self.errores_label.set_text(_('Errores: 0')) - self.letrasusadas_label.set_text(_('Letras Usadas: ')) - self.instrucciones_label.set_text(_('Instrucciones')) - self.palabra_label.set_text("") - self.nuevojuego_btn.hide() - self._cambiar_imagen(0) - self._pintar_palabra() - print self.palabra - - def _ok_btn_clicked_cb(self, widget, data=None): - self._actualizar_palabra() - - def _nuevojuego_btn_clicked_cb(self, widget, data=None): - self.palabra_entry.set_sensitive(True) #Activa la caja de texto - self.ok_btn.set_sensitive(True) #Activa el botón ok - self._creacion() - - def _cambiar_imagen(self, level): - ruta = 'resources/%s.png' % level - _logger.debug('level: %s' % level) - self.imagen.set_from_file(ruta) - - def _key_press_cb(self, widget, event): - keyname = gtk.gdk.keyval_name(event.keyval) - _logger.debug('keyname: %s' % keyname) - if keyname == 'Return' or keyname == "KP_Enter": - - self._actualizar_palabra() - return False - - def read_file(self, filepath): - pass - - def write_file(self, filepath): - pass - - def main(self): - gtk.main() - - def load_puntaje(self): - if exists("puntaje.pck"): - f_read = open("puntaje.pck", "rb") - x = pickle.load(f_read) - f_read.close() - return x - else: - return [] - - def guardar_puntaje(self): - f_write = open("puntaje.pck", "ab") - info_gamer = (self.aciertos, datetime.now()) - lista_gamer = [] - lista_gamer.append(info_gamer) - pickle.dump(lista_gamer, f_write) - f_write.close() - - def _destroy_cb(self, widget, data=None): - self.guardar_puntaje() - gtk.main_quit() - - def _actualizar_palabra(self): - - #Convierte la letra a minuscula - letra_actual = self.palabra_entry.get_text().lower() - _logger.debug('letra_actual: %s' % letra_actual) - - #Evalua si se escribio mas de 1 letra o esta vacio - if (len(letra_actual) is not 1 or letra_actual == " "): - self.palabra_entry.set_text('') - _logger.debug('mas de una letra o vacio') - self.instrucciones_label.set_text(_("Instrucciones:\nIntroduzca solo una letra!")) - - #Evalua si letra esta dentro de palabra - elif (letra_actual in self.palabra and letra_actual not in self.l_aciertos): - self.l_aciertos.append(letra_actual) - - for i in range(len(self.palabra)): - if (letra_actual == self.palabra[i]): - self.aciertos += 1 - - _logger.debug('letra dentro de palabra, aciertos: %s, errores: %s' %(self.aciertos, self.errores)) - self._actualizar_labels("Instrucciones:\nLetra dentro de palabra secreta!") - - #Evalua si se acerto la palabra y temina el juego - if (self.aciertos == len(self.palabra)): - _logger.debug('acerto palabra') - self.instrucciones_label.set_text(_('Instrucciones:\nAcertastes la palabra secreta, ' \ - 'FELICIDADES! \n su significado es: %s' % self.significado)) - self.nuevojuego_btn.show() # muestra el boton para comenzar el juego - - #Evalua si letra es repetida y esta dentro de palabra - elif (letra_actual in self.palabra and letra_actual in self.l_aciertos): - _logger.debug('letra repetida y dentro de palabra, aciertos: %s, errores: %s' %(self.aciertos, self.errores)) - self._actualizar_labels("Instrucciones:\nLetra repetida y dentro de palabra secreta!") - - #Evalua si letra no esta dentro de palabra - elif (letra_actual not in self.palabra and letra_actual not in self.l_errores): - self.l_errores.append(letra_actual) - self.errores += 1 - self._cambiar_imagen(self.errores) - _logger.debug('letra fuera de palabra, aciertos: %s, errores: %s' %(self.aciertos, self.errores)) - self._actualizar_labels("Instrucciones:\nLetra fuera de palabra secreta!") - - #Evalua si se completo el ahorcado y temina el juego - if (self.errores >= 8): - _logger.debug('fin del juego') - self.instrucciones_label.set_text(_('Instrucciones:\nLa palabra secreta era %s, ' \ - 'Fin del juego! x( su significado es %s' % - (self.palabra, self.significado)) ) - self.aciertos = 0 - self.palabra_entry.set_sensitive(False) #Activa la caja de texto - self.ok_btn.set_sensitive(False) #Inactiva el botón ok una vez que pierde - self.nuevojuego_btn.show() # muestra el boton para comenzar el juego - - #Evalua si letra es repetida y no dentro de palabra - elif (letra_actual not in self.palabra and letra_actual in self.l_errores): - _logger.debug('letra repetida y fuera de palabra, aciertos: %s, errores: %s' %(self.aciertos, self.errores)) - self._actualizar_labels("Instrucciones:\nLetra repetida y fuera de palabra secreta!") - - self._pintar_palabra() - - def _actualizar_labels(self, instrucciones): - '''Actualiza labels segun instrucciones''' - self.palabra_entry.set_text('') - self.instrucciones_label.set_text(_(instrucciones)) - self.aciertos_label.set_text(_('Puntaje: %s' % self.aciertos)) - letras = ', '.join(letra for letra in self.l_aciertos) - letras2 = ', '.join(letra for letra in self.l_errores) - self.letrasusadas_label.set_text(_('Letras Usadas: %s %s' % (letras,letras2))) - self.errores_label.set_text(_('Errores: %s' % self.errores)) - - - def _pintar_palabra(self): - '''Pinta las lineas de la palabra''' - pista = '' - for letra in self.palabra: - if letra in self.l_aciertos: - pista += '%s ' % letra - else: - pista += '_ ' - self.palabra_label.set_text(pista) - -if __name__ == "__main__": - foo = Ahorcado() - foo.main() diff --git a/dist/Chintano-2.xo b/dist/Chintano-2.xo deleted file mode 100644 index 6def767..0000000 --- a/dist/Chintano-2.xo +++ /dev/null Binary files differ diff --git a/dist/Sindiente-2.xo b/dist/Sindiente-2.xo deleted file mode 100644 index 6d4d5e2..0000000 --- a/dist/Sindiente-2.xo +++ /dev/null Binary files differ diff --git a/resources/0.png b/resources/0.png deleted file mode 100644 index 9195591..0000000 --- a/resources/0.png +++ /dev/null Binary files differ diff --git a/resources/1.png b/resources/1.png deleted file mode 100644 index eaf8d33..0000000 --- a/resources/1.png +++ /dev/null Binary files differ diff --git a/resources/2.png b/resources/2.png deleted file mode 100644 index e3728f6..0000000 --- a/resources/2.png +++ /dev/null Binary files differ diff --git a/resources/3.png b/resources/3.png deleted file mode 100644 index 78e1c4e..0000000 --- a/resources/3.png +++ /dev/null Binary files differ diff --git a/resources/4.png b/resources/4.png deleted file mode 100644 index a629de4..0000000 --- a/resources/4.png +++ /dev/null Binary files differ diff --git a/resources/5.png b/resources/5.png deleted file mode 100644 index 97188ad..0000000 --- a/resources/5.png +++ /dev/null Binary files differ diff --git a/resources/6.png b/resources/6.png deleted file mode 100644 index 1c600f7..0000000 --- a/resources/6.png +++ /dev/null Binary files differ diff --git a/resources/7.png b/resources/7.png deleted file mode 100644 index aacc8cc..0000000 --- a/resources/7.png +++ /dev/null Binary files differ diff --git a/resources/8.png b/resources/8.png deleted file mode 100644 index 9b47848..0000000 --- a/resources/8.png +++ /dev/null Binary files differ diff --git a/resources/lista_palabras.es.txt b/resources/lista_palabras.es.txt deleted file mode 100644 index 4c493a3..0000000 --- a/resources/lista_palabras.es.txt +++ /dev/null @@ -1,34 +0,0 @@ -RATON, animal roedor mamifero -PERRO, animal canino mamifero se dice de el el mejor amigo del hombre -GATO, animal felino semidomestico mamifero -PAJARO, ave de cualquier familia -PALOMA, ave su reproduccion es por medio de huevos -LAMPAZO, utencilio casero que se utiliza para limpiar piso -CASA, lugar con paredes y techo cuartos servicio sanitario que se utiliza para que los humanos habiten -PISO, es la parte de la casa donde se puede caminar colocar muebles y otras cosas -TECHO, parte de una casa que se utiliza para protegerla contra lluvia sol y otros eventos climaticos -COMPUTADORA, XO equipo que se utiliza para realizar programas juegos y chatear en facebook -LINUX, Sistema Operativo libre -PYTHON, Lenguaje de programacion que dicen que es facil y se utiliza para hacer programas -GUEGUE, Organizacion que trabaja en desarrollo de programas e imparte cursos -SELECCION, Del verbo selecionar escoger entre varias cosas palabras u otros -FUTBOL, Juego muy famoso que consiste basicamente en patear una pelota y meter goles el equipo que mas mete goles gana -GOL, el hecho de introducir una pelota de futbol en la porteria -ALEMANIA, Pais del norte de Europa se dice de ellos germanos -ARGENTINA, Pais sudamericano del junto a Chile comparten el estrecho de Magallanes -INGLATERRA, Reino Unido Isla contiguo a Francia -MEXICO, Pais norteamericano de habla hispana -CALEIDOSCOPIO, Un caleidoscopio es un tubo que contiene tres espejos -TRIPODE, Cualquier artefacto de tres patas para portar camaras o telescopios u otros objetos -CAMARA, Equipo para tomar fotos -SOCIEDAD, Algo que el ser humano cree que existe algo asi como una comunidad particular o general -RECIBIDO, Del verbo recibir obtener algo en tiempo pasado -PORTATIL, Objeto que se puede portar -SISTEMA, Procesos que se ejecutan para obtener un resultado -OPERACION, De matematicas suma resta De medicina intervenir el cuerpo humano -AVION, Aparato que se utiliza como transporte aereo -SOMBRERO, Objeto que se utiliza para protegerse del sol se usa en la cabeza -MOCHILA, Bolso que usan los que no le gustan los maletines -BOLSO, Especie de cartera que se utiliza para llevar objetos -VENTANA, Parte de una casa para que entre aire -PUERTA, Parte de una casa que se usa para protegerse de entradas ilegales -- cgit v0.9.1