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 |
|
|
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 |
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 |
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] |