Bueno te comento, en el caso del tomate... me vas cortar el tomate... había un espacio, rellenaba los nombre de referencia pero le puse un espacio de más a esta palabra. En este objeto "decorado" que fue de los primeros que cree los rellené a "mano", es decir directamente desde el Puck, aún no tenía las funciones que luego has creado para rellenar los nombres de referencia por código. Claro, reconocía "tomate[espacio]", le quité el espacio y se solucionó.
Pero en el caso del PC, sigue igual, he sacado fuera el objeto y lo he puesto en un worl con una sola estancia. Te lo paso para que le eches una mirada. El tema es que sí reconoce el nombre de referencia y se dirige al objeto pero no muestra el mensaje que le he preparado... no sé como explicarte.
https://www.dropbox.com/s/fkbye1wb7tl2z5i/decorado1.xmlTengo el array en la entidad abstracta "estringDecorado", al final de este array verá que he metido "pc"
Código:
//particular para cada estancia pueden ser genérico
String habitacionTriste="mesa mesas silla sillas lámpara lampara lamparas interruptor luz pc";
En el objeto decorado relleno los nombres de referencia con este array:
Código:
//para lo particular de la habitación
StringTokenizer st = new StringTokenizer(e.getPropertyValueAsString("habitacionTriste"));
while (st.hasMoreTokens()) { self.addSingularReferenceName(st.nextToken()); }
Y en el parsecommand del objeto decorado compruebe si la entrada de texto contiene algo de este string, lo hace la función
world.mensajes.Código:
//habitacion triste
if (world.mensajes("habitacionTriste", args)) {
switch (verb) {
case "mirar": mobile("jugador").write("Todo muy triste como la habitación.\n"); end();
}
}
Si lo encuentra suelta:
Todo muy triste como la habitación.Es aquí donde falla, ya que el nombre en los nombres singulares de referencia si lo encuentra ya que suelta:
Código:
Tu orden: ex pc
Todo muy triste como la habitación.
Tu orden: ex Pc
No le ves nada en especial.
Tu orden: ex PC
No le ves nada en especial.
Tu orden: ex MEsa
Todo muy triste como la habitación.
La respuesta
"No le ves nada en especial" es lo que tiene el objeto decorado en su descripción, así que encontrar el nombre en la lista de nombres de referencia lo encuentra, falla a la hora de buscarlo en mediante la función world.mensajes que me falla y no sé el porqué.