/[ambar]/ambar/dialogonormal.py
ViewVC logotype

Diff of /ambar/dialogonormal.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2.21 by amoyav, Sat Jul 5 23:25:52 2003 UTC revision 2.22 by amoyav, Wed Jul 30 14:17:58 2003 UTC
# Line 49  class DialogoNormal(Dialogo): Line 49  class DialogoNormal(Dialogo):
49      COMANDOS_POSIBLES = ['+salir','+doc','+ip','+seguir','+noseguir','+hablar','+hablarq','+hablaro',      COMANDOS_POSIBLES = ['+salir','+doc','+ip','+seguir','+noseguir','+hablar','+hablarq','+hablaro',
50                           '+hablare', '+susurrar','+susurrarq','+susurrare','+susurraro','+gritar',                           '+hablare', '+susurrar','+susurrarq','+susurrare','+susurraro','+gritar',
51                           '+gritarq','+gritare','+gritaro','+idioma','+actuar','+decir','+preguntar',                           '+gritarq','+gritare','+gritaro','+idioma','+actuar','+decir','+preguntar',
52                           '+atacar','+coger','+dejar','+esconder','+mochila','+examinar','+usar',                           '+atacar','+coger','+dejar','+esconder','+mochila','+examinar','+usar', '+usar_con',
53                           '+comer','+beber','+estadisticas','+mirar','+mr','+area','+observar',                           '+comer','+beber','+estadisticas','+mirar','+mr','+area','+observar',
54                           '+silencio','+confiar','+noconfiar','+dar','+amigos','+recapitular','+reloj',                           '+silencio','+confiar','+noconfiar','+dar','+amigos','+recapitular','+reloj',
55                           '+poner','+quitar']                           '+poner','+quitar']
# Line 531  class DialogoNormal(Dialogo): Line 531  class DialogoNormal(Dialogo):
531                              self.cmd_usar(id_objeto, n_orden, n_instancia)                              self.cmd_usar(id_objeto, n_orden, n_instancia)
532    
533                      self.estado_0()                      self.estado_0()
534                      
535                    elif accion == "+usar_con":
536                        (id_objeto, n_orden, n_instancia, id_objeto2, n_orden2, n_instancia2, ok) = \
537                            self.parsear_ident_objeto_doble(args, "usar_con")
538                        if ok:
539                            self.cmd_usar_con(id_objeto, n_orden, n_instancia,
540                                              id_objeto2, n_orden2, n_instancia2)
541    
542                        self.estado_0()
543    
544      #%%                nombre_objeto = (len(args) > 0 and args[0]) or ""      #%%                nombre_objeto = (len(args) > 0 and args[0]) or ""
545      #%%                self.cmd_usar(nombre_objeto)      #%%                self.cmd_usar(nombre_objeto)
# Line 744  class DialogoNormal(Dialogo): Line 753  class DialogoNormal(Dialogo):
753              return (id_objeto, cantidad, n_orden, n_instancia, ok)              return (id_objeto, cantidad, n_orden, n_instancia, ok)
754    
755    
756        def parsear_ident_objeto_doble(self, args, comando):
757            """Pequeña funcion utilitaria para parsear la secuencia
758            id_objeto [<n_orden>] [<n_instancia>] id_objeto2 [<n_orden2>] [<n_instancia2>].
759    
760            n_orden y n_instancia se reconocen porque son sólo dígitos.
761            id_objeto sólo puede tener una palabra.
762            """
763            cantidad = 1
764            id_objeto = ""
765            id_objeto2 = ""
766            n_orden = 1
767            n_instancia = 1
768            n_orden2 = 1
769            n_instancia2 = 1
770            ok = 0
771    
772            i = 0
773    
774            id_objeto += args[i]
775            i = i + 1
776    
777            if i < len(args) and args[i].isdigit():
778                n_orden = int(args[i])
779                i = i + 1
780    
781            if i < len(args) and args[i].isdigit():
782                n_instancia = int(args[i])
783                i = i + 1
784    
785            id_objeto2 += args[i]
786            i = i + 1
787    
788            if i < len(args) and args[i].isdigit():
789                n_orden2 = int(args[i])
790                i = i + 1
791    
792            if i < len(args) and args[i].isdigit():
793                n_instancia2 = int(args[i])
794                i = i + 1
795    
796            if id_objeto == "" or id_objeto2 == "":
797                self.conn().send("Tienes que indicar qué objeto quieres " + comando + ".")
798            elif n_orden < 1 or n_orden2 < 1:
799                self.conn().send("El número de orden tiene que ser igual o mayor que 1.")
800            elif n_instancia < 1 or n_instancia < 1:
801                self.conn().send("El número de objeto tiene que ser igual o mayor que 1.")
802            else:
803                ok = 1
804    
805            return (id_objeto, n_orden, n_instancia, id_objeto2, n_orden2, n_instancia2, ok)
806    
807    
808      # ---------------------      # ---------------------
809      # EJECUCION DE COMANDOS      # EJECUCION DE COMANDOS
810      # ---------------------      # ---------------------
# Line 1366  class DialogoNormal(Dialogo): Line 1427  class DialogoNormal(Dialogo):
1427    
1428          except ExcepcionDeJuego, mensaje:          except ExcepcionDeJuego, mensaje:
1429    
1430              self.conn().send(mensaje)              self.conn().send(str(mensaje))
1431    
1432                    
1433  #%%    def cmd_coger(self, id_objeto, cantidad, n_orden, n_instancia):  #%%    def cmd_coger(self, id_objeto, cantidad, n_orden, n_instancia):
# Line 1450  class DialogoNormal(Dialogo): Line 1511  class DialogoNormal(Dialogo):
1511    
1512          except ExcepcionDeJuego, mensaje:          except ExcepcionDeJuego, mensaje:
1513    
1514              self.conn().send(mensaje)              self.conn().send(str(mensaje))
1515    
1516    
1517                    
# Line 1517  class DialogoNormal(Dialogo): Line 1578  class DialogoNormal(Dialogo):
1578    
1579          except ExcepcionDeJuego, mensaje:          except ExcepcionDeJuego, mensaje:
1580    
1581              self.conn().send(mensaje)              self.conn().send(str(mensaje))
1582    
1583    
1584      def cmd_dar(self, id_receptor, id_objeto, cantidad, n_orden, n_instancia):      def cmd_dar(self, id_receptor, id_objeto, cantidad, n_orden, n_instancia):
# Line 1615  class DialogoNormal(Dialogo): Line 1676  class DialogoNormal(Dialogo):
1676      def cmd_usar(self, id_objeto, n_orden, n_instancia):      def cmd_usar(self, id_objeto, n_orden, n_instancia):
1677          self.__personaje.usar(id_objeto, n_orden, n_instancia)          self.__personaje.usar(id_objeto, n_orden, n_instancia)
1678    
1679            
1680        def cmd_usar_con(self, id_objeto, n_orden, n_instancia, id_objeto2, n_orden2, n_instancia2):
1681            self.__personaje.usar_con(id_objeto, n_orden, n_instancia,
1682                                      id_objeto2, n_orden2, n_instancia2)
1683    
1684  #%%     encontrados = 0  #%%     encontrados = 0
1685  #%%     n_objeto = -1  #%%     n_objeto = -1
1686  #%%  #%%

Legend:
Removed from v.2.21  
changed lines
  Added in v.2.22

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26