PREGUNTAS Y RESPUESTAS SOBRE EL PAW

Por... Javier San José

JUAN ANTONIO PEREIRA VARELA

1.- En el juego ABRACADABRA aparece una opción cuya función es la de repetir la última acción realizada al pulsar la tecla V. ¿Cómo podría conseguir este efecto?.

En primer lugar para poder repetir la última frase tecleada habrá que guardarla en algún sitio. Debemos guardar el contenido del las banderas 33, 34, 35, 36, 43, 44, 45 que corresponden al verbo, nombre 1 y 2, adjetivo 1 y 2, adverbio y preposición. Para ello usaremos las banderas 16 a 22. Al inicio de la tabla de respuestas deberemos añadir las siguientes entradas:

Una entrada para guardar la última sentencia lógica. XX representa el número dentro del Vocabulario del verbo V que será el que provoque que se repita la última sentencia introducida:

    *   *   NOTEQ     33   XX
            COPYFF    33   16
            COPYFF    34   17
            COPYFF    35   18
            COPYFF    36   19
            COPYFF    43   20
            COPYFF    44   21
            COPYFF    45   22

Y otra entrada para recuperar la última sentencia guardada:

     V    _    COPYFF    16   33
               COPYFF    17   34
               COPYFF    18   35
               COPYFF    19   36
               COPYFF    20   43
               COPYFF    21   44
               COPYFF    22   45

Con esta sencilla técnica conseguimos los efectos deseados.

2.- El control del cursor que permite el PAW es, a mi entender, bastante flojo, ya que si tecleas una respuesta larga y antes de darle a INTRO te das cuenta de que has cometido un error, tienes que borrar la frase hasta donde esté el fallo. ¿Podrías proporcionarme alguna rutina de control del cursor?.

Siento decirte que no, y la razón es bien sencilla: habría que modificar en gran medida el propio PAW y ello sin listados de código fuente comentados es una labor bastante difícil. Por tanto deberás conformarte con el cursor que proporciona el PAW.

LUIS VICENTE ARELLANO

1.- Sé que hay una bandera que controla el input, pero ¿hay alguna que controle el ANYKEY?

El único control que disponemos del condacto ANYKEY es a través de la bandera 49 (que es la misma que controla el input). Además es un control bastante limitado ya que sólo podemos decir si queremos que el tiempo muerto (TIMEOUT) pueda ocurrir en medio de un ANYKEY o no. Esto se consigue mediante el bit 2 de esta bandera: seteado permite que el tiempo muerto ocurra en medio de un ANYKEY.

LUIS GUILLERMO DEL CORRAL MAZORRA

1.- ¿Cómo puedo conseguir que cuando pido un inventario, examino un contenedor o entro en una localidad el inventario en vez de aparecerme en columna me aparezca en fila?

Mediante la sentencia LET 53 64 conseguirás que los listados de objetos aparezcan en fila.

2.- Quiero saber como hacer que en la aventura se escriba en minúsculas cuando escribes al querer hacer algo y como pasar a minúsculas los sets de caracteres del PAW, a parte de como hacer que cuando cambio de set la O no cambie a %.

Respecto a escribir en minúsculas en mitad de la aventura es imposible (a menos que modifiques el PAW entero) ya que el PAW sólo admite mayúsculas. Lo de pasar a minúsculas los sets de caracteres del PAW no entiendo porque lo preguntas ya que TODOS LOS SETS DEL PAW TIENEN TANTO LAS MAYUSCULAS COMO LAS MINUSCULAS DEFINIDAS.

Para que al cambiar de set la O (supongo que te refieres a la O acentuada, es decir 'ó') no se transforme en el '%' debes evitar usar el set de caracteres 0 si usas vocales acentuadas ya que este no se puede redefinir y la posición de la O acentuada la ocupa el '%'. Si te ocurre con cualquier otro set deberás modificar en ese set, mediante el editor de caracteres, el carácter '%' y colocar en su lugar una O acentuada.

ROBERTO BERNARDO

1.- Uno de los problemas es que al grabar en cinta una aventura hecha con el PAW, la grabación se hace en 3 partes: la primera el intérprete, la segunda la "Base-A" y la tercera la "Base-B". De esta manera, cualquier persona que adquiera la aventura puede cargar los dos últimos bloques en el PAWInt érprete, o investigar su interior. Para solucionar el problema he conseguido unir las 3 cargas en una sola gracias a un monitor de código máquina pero ahora no sé en qué dirección hacer el RANDOMIZE para ejecutar la aventura.

Para juntar los 3 bloques en uno sólo deberás hacer lo siguiente:

Para cargarlo usa este pequeño programa en BASIC:

     10 CLEAR 28671
     20 LOAD "" CODE
     30 RANDOMIZE USR 34793

2.- Otro problema es que no se en que dirección van los overlays del PAW, y tengo varios programas en CM que pueden servir de overlays. Me gustaría que me proporcionara también esta dirección.

Cierto es que los overlays del PAW son pequeños programas en CM que se cargan a medida que se necesitan. También es cierto que los programadores del PAW han empleado un formato especial a la hora de escribir estos programas y dudo mucho que los programas en CM que tienes se ajusten a este formato. De todas formas es raro que necesites usar esos programas como overlays a menos que de alguna forma modifiquen la base de datos en sí.