Facilitar_alt versin 0.90 beta
Quedan expresamente autorizados su libre uso, distribucin y modificacin.

Propuesta de librera "Facilitar" alternativa para InformATE 030305
que cubre el problema de tocar los techos y/o los cielos en InformATE.

Crea clases para distinguir entre los objetos tipo "Habitacion"
(para localidades interiores), "Exterior" (para localidades
exteriores) y "Objeto" para los objetos que haya en estas (como
ya haca la librera "Facilitar" original) y controla el correcto
funcionamiento de las acciones dirigidas al techo, cielo, arriba, etc,
impidiendo tocar el techo, lamerlo, olerlo, mirar el cielo en una
habitacin interior o el techo en una exterior y similares
incongruencias procedentes del comportamiento por defecto de Inform.

El usuario slo debe incluirla en su programa con "Include" tras
las directivas "Include" habituales.

Su nico inconveniente es que usa el punto de entrada "AntesDelParsing",
dificultando con ello la posibilidad de usarlo por parte del autor de la
obra para sus propios fines. En el caso improbable de que exista ese
conflicto (ya que si un autor se va a meter a trastear con ese punto de
entrada seguramente sea del todo capaz de crear su propia solucin
personalizada) siempre se puede aadir sin mayor preocupacin el cdigo
adicional que desee a la rutina tal cual aparece en esta librera con la
nica recomendacin de estar pendiente del valor de la variable "np" de la
librera. El creador principiante puede ignorar tranquilamente este detalle.

Se recomienda modificar los textos de las respuestas por defecto para dar
mayor variedad a los trabajos que hipotticamente usasen esta librera y,
a poco que el autor principiante al que va dirigida sepa cmo hacerlo,
sustituirlas incluso por rutinas que aadan mayor versatilidad.

Ejemplo de uso de las clases:

Include "EParser";
Include "Acciones";
Include "Mensajes";
Include "Facilitar_alt";

Habitacion Recibidor "Recibidor"
with descripcion "Ests en el recibidor de tu casa.
Al norte est la salida al jardn, hacia arriba, el tico.",
al_n Jardin,
afuera Jardin,
arriba Atico;

Exterior Jardin "Jardn"
with descripcion "Ests en el jardn , al sur est la entrada a tu casa.",
al_s Recibidor,
adentro Recibidor;

Habitacion Atico "tico"
with descripcion "Ests en el tico.",
abajo Recibidor;

[Inicializar;
	modomirar = 2;
	localizacion = Recibidor;
];

Include "Gramatica";

**FAQ**

P:Habr algn problema con que las posibles propiedades "antes" de las localidades
individuales, tanto exteriores como interiores, interfieran con las definidas
en las clases?

R:En principio no, por lo testeado hasta el momento, la cualidad "aditiva" de la
propiedad "antes" funciona debidamente, remitiendo adecuadamente a los
comportamientos por defecto definidos en la clase o del propio "obj_arriba" siempre
que los retornos "false" o "true" se controlen tal y como se explica en el manual

P:Era imprescindible usar el punto de entrada "AntesDelParsing"?No podra haberse
dejado libre y haber creado una rutina de parseado propia que hiciera lo mismo?

R:Esa era la intencin original, pero el modo en que Inform realiza el parseado de
acciones encadenadas no dejaba otra opcin. Acciones como "ex techo" o "toca cielo"
respondan correctamente, as como "canta y ex techo" o "ve al norte y mira al cielo",
pero "ex techo y canta" o "mira arriba y ve al sur" no podan interceptarse tal y
como se pretenda, ya que slo funcionaba si la accin referente al obj_arriba era la
ltima de la cadena.

