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í.