PNJMovil v9
-----------

La anterior versión de PNJMovil era la 8.01 y sólo era válida para 
InformATE 6/7.

La nueva versión 9 es biplataforma, por lo que es válida para 
InformATE 6/10, tanto para la generación de código Z como Glulx.

No obstante, para lograr esta biplataforma se ha tenido que
modificar un detalle que hace que la versión 9 sea incompatible
con la versión 8. El detalle es el siguiente:

******IMPORTANTE
 * En esta versión de PNJMovil, el array que contiene la ruta
   durante el MOVIMIENTO_PREFIJADO debe ser un array de words
   (es decir, -->) en lugar de bytes (->) como era en la anterior
   versión de PNJMovil
********

Esta es la única modificación que tendrás que hacer en tu juego
si usabas esta librería. El resto es compatible.


Archivos que acompañan a PNJMovil v9
------------------------------------

PNJMovil.h - Es el módulo de ampliación adaptado para la
   biplataforma.

Movilman.txt - Es el manual. Es idéntico al que acompañaba a la
   versión anterior, sólo que se ha modificado la explicación
   del MOVIMIENTO_PREFIJADO para reflejar que ahora el array
   es de tipo --> en vez de -> como se ha dicho en la nota
   anterior

demo1.inf - Es una demo compleja que muestra cómo programar
   puertas que puedan interactuar con los PNJ. En la demo
   hay dos PNJ (Thorin y Vampiro) que se mueven de forma 
   aleatoria por el siguiente mapa:

        +--------+---------+----------+
        | Cocina | Pasillo | Bibliot. |
        |        #         %          |
        |        #         %          |
        |        |         |          |
        +--------+---    --+----------+
                 | Hall    |
                 |         |
                 |         |
                 |         |
                 +--*****--+

  Donde ##, %% y **** son puertas:
  
     ***** Es la puerta de salida del castillo. Está siempre
           cerrada y no puede ser abierta por ningún PNJ 
           ni por el jugador

     %%    Es la puerta de la biblioteca, puede ser abierta
           o cerrada por el jugador. Los PNJs pasan por ella
           cuando está abierta, y la "atraviesan" cuando
           está cerrada (pero el mensaje que imprime el juego
           no dice que la han atravesado, sino que la han
           abierto, han pasado por ella y la han cerrado de nuevo
           aunque nada de esto ocurre en realidad, para el
           jugador no hay diferencia)

     ##    Es la puerta de la cocina. Para Thorin es igual que
           la puerta de la biblioteca, pero para Vampiro no.
           Vampiro sólo podrá pasar por esta puerta si la
           encuentra abierta.


demo2.inf - Es una demo análoga a la anterior, con el mismo mapa
      y las mismas puertas, pero en este caso el Vampiro no
      camina aleatoriamente, sino que intenta seguir una ruta
      pre-programada, que sería la siguiente:

       0 Empieza en el Hall. 
       1 Ir al norte
       2 Ir al este (biblioteca)
       3 Esperar dos turnos en la biblioteca
       4 Ir al oeste (salir de la biblioteca)
       5 Ir al oeste (entrar en la cocina)
       6 Esperar un turno en la cocina
       7 Ir al este (salir de la cocina)
       8 Ir al sur (al Hall)
         Repetir todo lo anterior una y otra vez

      En los pasos 5 y 7 necesitará pasar por la puerta de la cocina
      Si la encuentra abierta, no habrá problema, pero si la 
      encuentra cerrada, puesto que esta puerta está programada
      de forma que no pueda ser abierta por Vampiro, se quedará
      bloqueado en ese punto de su ruta, reintentando en cada
      turno pasar por esa puerta, hasta que la encuentre abierta
      y pueda proseguir su ruta.

Ambas demos tienen su mayor complicación en la codificación de las
puertas. Y toda esta complicación proviene fundamentalmente de los
mensajes que el juego escribe para mostrar al jugador lo que está
sucediendo. (ya que hay que comprobar si el jugador está en la
habitación para ver lo que ocurre, y a qué lado de la puerta está
para adaptar el mensaje, y qué  PNJ es el que intenta abrir la puerta
para que el mensaje sea el apropiado, etc.)


  Zak, Octubre 2000
