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

Diff of /ambar/requisito.py

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

revision 2.6 by amoyav, Sun Aug 31 20:43:27 2003 UTC revision 2.7 by TuringTest, Fri Sep 5 21:26:01 2003 UTC
# Line 75  class Requisito(object): Line 75  class Requisito(object):
75      #      #
76      NOMBRES = {      NOMBRES = {
77            
78          "Personaje": {          "Personaje": {
79              "nombre":                [ ("id", "Personaje"), ("comparador", "string"), ("valor", "string") ],              "nombre":                [ ("id", "Personaje"), ("comparador", "string"), ("valor", "string") ],
80              "nivel":                 [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],              "nivel":                 [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],
81              "vida":                  [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],              "vida":                  [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],
82              "volumen":               [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],              "volumen":               [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],
83              "estado":                [ ("id", "Personaje"), ("comparador", "string"), ("valor", "string") ],              "estado":                [ ("id", "Personaje"), ("comparador", "string"), ("valor", "string") ],
84              "aura":                  [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],              "aura":                  [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],
85              "atributo":              [ ("id", "Personaje"), ("atributo", "string"), ("comparador", "string"), ("valor", "numero") ],              "atributo":              [ ("id", "Personaje"), ("atributo", "string"), ("comparador", "string"), ("valor", "numero") ],
86              "idioma":                [ ("id", "Personaje"), ("idioma", "Idioma"), ("comparador", "string"), ("valor", "numero") ],              "idioma":                [ ("id", "Personaje"), ("idioma", "Idioma"), ("comparador", "string"), ("valor", "numero") ],
87              "renombre":              [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],              "renombre":              [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],
88              "infamia":               [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],              "infamia":               [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],
89              "es_jugador":            [ ("id", "Personaje"), ("comparador", "string"), ("valor", "si_no") ],              "es_jugador":            [ ("id", "Personaje"), ("comparador", "string"), ("valor", "si_no") ],
90              "es_maia":               [ ("id", "Personaje"), ("comparador", "string"), ("valor", "si_no") ],              "es_maia":               [ ("id", "Personaje"), ("comparador", "string"), ("valor", "si_no") ],
91              "raza":                  [ ("id", "Personaje"), ("comparador", "string"), ("valor", "string") ],              "raza":                  [ ("id", "Personaje"), ("comparador", "string"), ("valor", "string") ],
92              "profesion":             [ ("id", "Personaje"), ("comparador", "string"), ("valor", "string") ],              "profesion":             [ ("id", "Personaje"), ("comparador", "string"), ("valor", "string") ],
93              "sexo":                  [ ("id", "Personaje"), ("comparador", "string"), ("valor", "string") ],              "sexo":                  [ ("id", "Personaje"), ("comparador", "string"), ("valor", "string") ],
94              "objeto_en_mochila":     [ ("id", "Personaje"), ("nombre_objeto", "string"), ("comparador", "string"), ("valor", "si_no") ],              "objeto_en_mochila":     [ ("id", "Personaje"), ("nombre_objeto", "string"), ("comparador", "string"), ("valor", "si_no") ],
95              "objeto_puesto":         [ ("id", "Personaje"), ("nombre_objeto", "string"), ("posicion", "string"), ("comparador", "string"), ("valor", "si_no") ],              "objeto_puesto":         [ ("id", "Personaje"), ("nombre_objeto", "string"), ("posicion", "string"), ("comparador", "string"), ("valor", "si_no") ],
96              "confianza":             [ ("id", "Personaje"), ("personaje_objeto", "Personaje"), ("comparador", "string"), ("valor", "numero") ],              "confianza":             [ ("id", "Personaje"), ("personaje_objeto", "Personaje"), ("comparador", "string"), ("valor", "numero") ],
97              "resultado_tirada":      [ ("id", "Personaje"), ("id_tirada", "string"), ("dificultad", "numero"), ("comparador", "string"), ("valor", "numero") ],              "resultado_tirada":      [ ("id", "Personaje"), ("id_tirada", "string"), ("dificultad", "numero"), ("comparador", "string"), ("valor", "numero") ],
98              "resultado_competicion": [ ("id", "Personaje"), ("id_competicion", "string"), ("comparador", "string"), ("valor", "numero") ],              "resultado_competicion": [ ("id", "Personaje"), ("id_competicion", "string"), ("comparador", "string"), ("valor", "numero") ],
99              "comparar":              [ ("id", "Personaje"), ("oponente", "Personaje"), ("comparador", "string"), ("valor", "numero") ],              "comparar":              [ ("id", "Personaje"), ("oponente", "Personaje"), ("comparador", "string"), ("valor", "numero") ],
100              "hambre":                [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],              "hambre":                [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ],
101              "sed":                   [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ]              "sed":                   [ ("id", "Personaje"), ("comparador", "string"), ("valor", "numero") ]
102          },          },
103    
104          "Objeto": {          "Objeto": {
105              "nombre":                [ ("id", "Objeto"), ("comparador", "string"), ("valor", "string") ],              "nombre":                [ ("id", "Objeto"), ("comparador", "string"), ("valor", "string") ],
106              "tipo":                  [ ("id", "Objeto"), ("comparador", "string"), ("valor", "string") ],              "tipo":                  [ ("id", "Objeto"), ("comparador", "string"), ("valor", "string") ],
107              "categoria":             [ ("id", "Objeto"), ("comparador", "string"), ("valor", "string") ],              "categoria":             [ ("id", "Objeto"), ("comparador", "string"), ("valor", "string") ],
108              "peso":                  [ ("id", "Objeto"), ("comparador", "string"), ("valor", "numero") ],              "peso":                  [ ("id", "Objeto"), ("comparador", "string"), ("valor", "numero") ],
109              "cargas":                [ ("id", "Objeto"), ("comparador", "string"), ("valor", "numero") ],              "cargas":                [ ("id", "Objeto"), ("comparador", "string"), ("valor", "numero") ],
110              "valor":                 [ ("id", "Objeto"), ("comparador", "string"), ("valor", "numero") ],              "valor":                 [ ("id", "Objeto"), ("comparador", "string"), ("valor", "numero") ],
111              "estado":                [ ("id", "Objeto"), ("comparador", "string"), ("valor", "numero") ]              "estado":                [ ("id", "Objeto"), ("comparador", "string"), ("valor", "numero") ]
112          },          },
113    
114          "Sala": {          "Sala": {
115              "nombre":                [ ("id", "Sala"), ("comparador", "string"), ("valor", "string") ],              "nombre":                [ ("id", "Sala"), ("comparador", "string"), ("valor", "string") ],
116              "tipo":                  [ ("id", "Sala"), ("comparador", "string"), ("valor", "string") ],              "tipo":                  [ ("id", "Sala"), ("comparador", "string"), ("valor", "string") ],
117              "subtipo":               [ ("id", "Sala"), ("comparador", "string"), ("valor", "string") ],              "subtipo":               [ ("id", "Sala"), ("comparador", "string"), ("valor", "string") ],
118              "volumen":               [ ("id", "Sala"), ("comparador", "string"), ("valor", "numero") ],              "volumen":               [ ("id", "Sala"), ("comparador", "string"), ("valor", "numero") ],
119              "luz":                   [ ("id", "Sala"), ("comparador", "string"), ("valor", "numero") ],              "luz":                   [ ("id", "Sala"), ("comparador", "string"), ("valor", "numero") ],
120              "aura":                  [ ("id", "Sala"), ("comparador", "string"), ("valor", "numero") ],              "aura":                  [ ("id", "Sala"), ("comparador", "string"), ("valor", "numero") ],
121              "objeto_en_sala":        [ ("id", "Sala"), ("nombre_objeto", "string"), ("comparador", "string"), ("valor", "si_no") ]              "objeto_en_sala":        [ ("id", "Sala"), ("nombre_objeto", "string"), ("comparador", "string"), ("valor", "si_no") ]
122          },          },
123    
124          "mundo": {          "mundo": {
125              "rango_horario":         [ ("comparador", "string"), ("valor", "string") ],              "rango_horario":         [ ("comparador", "string"), ("valor", "string") ],
126              "seccion_del_dia":       [ ("comparador", "string"), ("valor", "string") ],              "seccion_del_dia":       [ ("comparador", "string"), ("valor", "string") ],
127              "fecha":                 [ ("comparador", "string"), ("valor", "string") ]              "fecha":                 [ ("comparador", "string"), ("valor", "string") ]
128          }          }
129      }      }
130            
131    
# Line 160  class Requisito(object): Line 160  class Requisito(object):
160    
161    
162      def nuevo_datos(base, nombre, parametros, cumplido, no_cumplido):      def nuevo_datos(base, nombre, parametros, cumplido, no_cumplido):
163          """Crea un requisito nuevo aportando directamente sus datos.          """Crea un requisito nuevo aportando directamente sus datos.
164    
165          Requiere:          Requiere:
166              base != None              base != None
# Line 184  class Requisito(object): Line 184  class Requisito(object):
184      def __leer_base(self): return self.__base      def __leer_base(self): return self.__base
185    
186      base = property(__leer_base,      base = property(__leer_base,
187                      doc="""(string): el nombre de la clase base de este requisito.                      doc="""(string): el nombre de la clase base de este requisito.
188    
189                      Invariantes:                      Invariantes:
190                        base != None                        base != None
191                      """)                      """)
192    
193    
194      def __leer_nombre(self): return self.__nombre      def __leer_nombre(self): return self.__nombre
195    
196      nombre = property(__leer_nombre,      nombre = property(__leer_nombre,
197                      doc="""(string): el nombre de requisito (o sea, la propiedad que se comprueba).                      doc="""(string): el nombre de requisito (o sea, la propiedad que se comprueba).
198    
199                      Invariantes:                      Invariantes:
200                        nombre != None                        nombre != None
201                      """)                      """)
202    
203    
204      def __leer_parametros(self): return self.__parametros      def __leer_parametros(self): return self.__parametros
205    
206      parametros = property(__leer_parametros,      parametros = property(__leer_parametros,
207                            doc="""({String:any}[]): descripción de los parámetros.                            doc="""({String:any}[]): descripción de los parámetros.
208                                                        
209                                Consiste en una lista de items, y cada item es un conjunto de                                Consiste en una lista de items, y cada item es un conjunto de
210                                propiedades en forma de diccionario:                                propiedades en forma de diccionario:
211                                 - "nombre" (string): nombre del parámetro.                                 - "nombre" (string): nombre del parámetro.
212                                 - "valor" (any): puede ser un literal con el valor del parámetro,                                 - "valor" (any): puede ser un literal con el valor del parámetro,
213                                                  un dato que permita obtener el valor cuando se                                                  un dato que permita obtener el valor cuando se
214                                                  compruebe el requisito (por ejemplo, el id de una sala)                                                  compruebe el requisito (por ejemplo, el id de una sala)
215                                                  o un macro (si comienza por $).                                                  o un macro (si comienza por $).
216                                 - "tipo" (string): indica de que tipo es el parámetro, y determina                                 - "tipo" (string): indica de que tipo es el parámetro, y determina
217                                                    cómo se va a calcular el valor.                                                    cómo se va a calcular el valor.
218    
219                                Invariantes:                                Invariantes:
220                                    nombre != None                                    nombre != None
221                                    valor != None                                    valor != None
222                                    tipo in Requisito.TIPOS_PARAMETROS                                    tipo in Requisito.TIPOS_PARAMETROS
223                                """)                                """)
224    
225    
226      def __leer_cumplido(self): return self.__cumplido      def __leer_cumplido(self): return self.__cumplido
# Line 261  class Requisito(object): Line 261  class Requisito(object):
261              # Obtenemos la información del nombre de requisito (es decir, la lista              # Obtenemos la información del nombre de requisito (es decir, la lista
262              # de parámetros y sus tipos correspondientes).              # de parámetros y sus tipos correspondientes).
263              info_nombre = Requisito.NOMBRES[self.__base][self.__nombre]              info_nombre = Requisito.NOMBRES[self.__base][self.__nombre]
264          except KeyError:          except KeyError:
265              raise ValueError("No existe el requisito %s.%s" % (self.__base, self.__nombre))              raise ValueError("No existe el requisito %s.%s" % (self.__base, self.__nombre))
266                    
267          # Obtenemos la lista de parámetros, sus valores y tipos.          # Obtenemos la lista de parámetros, sus valores y tipos.
268          self.__parametros = []          self.__parametros = []
269    
270          for info_parametro in info_nombre:          for info_parametro in info_nombre:
271    
272              nombre = info_parametro[0]              nombre = info_parametro[0]
273              tipo = info_parametro[1]              tipo = info_parametro[1]

Legend:
Removed from v.2.6  
changed lines
  Added in v.2.7

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