Manual de PAWS

Manual de PAWS (X)

[Anterior] - [Siguiente]

Personajes


El pajarito


El juego de práctica que hemos hecho es bastante fácil de resolver (bastante tontito, la verdad). Así que le vamos a añadir un poco de complejidad creando dos caracteres que vayan vagando por nuestro pequeño mundo. Estos caracteres son llamados PSI, o Caracteres Pseudo Inteligentes, porque es obvio que aunque no pueden pensar, debe de parecerle al jugador como si lo hiciesen.

Un PSI consiste principalmente en una colección de mensajes, banderas y entradas en tablas de procesos. Verás que con unas pocas entradas simples se pueden crear efectos sorprendentemente reales.

La creación de un complejo PSI puede tomar mucho más tiempo, pero en general sigue los mismos principios que los que vamos a hacer con los nuestros: un pajarito y un perrito.

El pájaro se pone para complicar el escenario de la siguiente manera: cogerá el billete al principio del juego (normalmente se le daría una localidad no usada como contenedor de los objetos que lleve el pájaro, pero nosotros usaremos la localidad 252, puesto que solamente tenemos un PSI que puede tener un objeto).

De modo que el jugador debe convecner al pajarito para que deje caer el billete. El intentar quitárselo o cogerlo dará el mensaje "No puedo hacer eso", y hará que el pajarito se vaya volando hacia otra parte.

El pajarito también darála paliza volando entre el pabellón de música y una ramita del árbol, y esto lo hará a intervalos regulares. La única manera de convencer al pajarito para que deje caer el billete de autobús es dejar caer el emparedado en la misma localidad.

Lo primero que hay que hacer es ir a la tabla de Objetos Inicialmente En (la tabla I) y cambiar el objeto 4 a no creado, es decir, darle al objeto 4, que es el billete, el valor de 252.

Esto hace que el objeto no exista como objeto, porque lo lleva el pajarito en el pico.

En el vocabulario insertamos también los nombres pajarito o pájaro y perro. Supondremos que el pájaro es 22 y el perro es 21, perro=21, pájaro=22, porque sus valores como palabras serán usados para poner las entradas en el orden correcto en las tablas de procesos.

Después, insertamos los siguientes mensajes. Podemos usar tinta verde (en MODO EXTENDIDO, CAPS SHIFT + 4) para los mensajes, no olvidando volver a poner tinta blanca al final (MODO EXTENDIDO, CAPS SHIFT + 7).


MODO EXTENDIDO + CAPS SHIFT + NUMERO = EL COLOR DE LA TINTA

Mensaje 6
El pajarito deja caer el billete para coger el emparedado

Mensaje 7
El pajarito se lleva velozmente el billete

Mensaje 8
El pajarito me ignora

Mensaje 9
Un pajarito anda rondando por aquí

Mensaje 10
El pajarito tiene un billete en su pico

Mensaje 11
Un prqueño pajarito se posa en la hierba

Mensaje 12
El pajarito está ahora en la rama del árbol

Mensaje 13
El pajarito ve al perro y sale pitando

Mensaje 14
El pajarito se va

Luego pondremos los mensajes que vaya a usar el perro, pero ahora debemos seleccionar la tabla de Procesos y prepararnos para otras de las virguerías de PAW.

Sub-procesos


En una aventura de verdad que contenga varios PSI y un montón de acciones, las tablas de procesos 1 y 2 pronto acabarán llenas, y se hace cada vez más difícil trabajar de esta forma. Entonces viene el momento de dejar que las otras tablas de Procesos comiencen a actuar. Estas pueden ser llamadas desde las tablas de Procesos 1 y 2 o de la tabla de Respuestas, y usadas como una extensión de la tabla desde la cual fueron llamadas.

El llamar a otro proceso hace que PAW guarde en memoria dónde estaba en el momento de ser llamado, y continuaráa actuando en la misma forma en que lo estaba haciendo. Por ejemplo, si se llamó desde una tabla de Respuestas, PAW tratará de hacer coincidir la Sentencia Lógica actual con cualquier otra entrada. Pero si es llamado desde una tabla de Procesos, sea la 1 o la 2, PAW sencillamente ejecutará cada entrada (ESTO ES MUY IMPORTANTE).

Por otra parte, cuando algo es DONE en el Proceso llamado, PAW volverá a la tabla original y continuará trabajando. Por lo tanto se pueden hacer acciones bastante complejas mediante el uso de los sub-procesos. Los usuarios que sepan algo de programación reconocerá fácilmente que son sencillamente sub-rutinas.

Cuando PAW está en un sub-proceso, es posible que sea llamado para actuar en otro sub-proceso (¿un sub-sub-proceso?), y así se puede continuar con sub-sub-sub hasta un valor de 10.

Es decir, las sub-rutinas pueden ser anidadas hasta un valor de 10. Si se intenta ir más lejos saldrá la frase "Limit Reached", o sea, Límite alcanzado.

En este momento no vamos a usar un sub-proceso muy complicado, solamente uno simple, y lo haremos para tener en cuenta todas las chorraditas del pájaro.

Usando [B] se comienza un nuevo sub-proceso y PAW autom&aacutE;ticamente te localizará el siguiente número libre. De momento deberíamos estar comenzando el proceso 3. Como solamente hay unas pocas entradas en la tabla, usaremos el mismo par de palabras ("_ PAJARO"), aun cuando hay que tener en cuenta que al escribir tu juego debes de usar otras palabras que te recuerden lo que hace cada entrada.

La bandera 11, será una bandera de "trabajo", porque contiene un valor que se usa solamente como comparación.

La bandera 12 llevará el número de la localidad actual del pájaro.

La bandera 5 es una bandera especial, porque si tiene un valor diferente de 0, disminuirá 1 cada vez que PAW ejecute una acción, es decir, cada vez que PAW revise la tabla de Procesos 2. Es lo que se llama una bandera auto-decreciente.

En este caso usaremos la bandera 5 para contar el número de turnos que han pasado en el juego. Un turno del juego es toda una vuelta del circuito grande en el diagrama 4, y de momento, esto pasa cada vez que el jugador teclea una frase.

El pajarito cambiará de localidad cada tres frases, lo que creará una especie de apariencia de acción independiente de lo que teclee el jugador.

Ahoira, vamos a insertar las siguientes entradas (sin los comentarios, como hicimos antes). En cada entrada tenemos una explicación de su propósito y también explicaremos cada nuevo condacto que se use:
Primero hay que determinar si el pájaro va a salir pitando. Esto pasará cuando la bandera 5 tenga el valor 0 (empezará a contar desde 3). Entonces, si el bileete está en la misma localidad que la del pájaro, será destruido (Puesto que la localidad 252 indica que el pájaro lo tiene) y si el jugador está en la misma localidad que el pájaro, se le dirá que el pájaro se ha llevado el billete.

Tienes que darte cuenta de que el pájaro sigue con sus ciclos de movimientos aunque el jugador no lo vea. De hecho, en el mundo de PAW un árbol se cae aunque no haya nadie para verlo. Así de real es.


_PAJAROCOPYOF411;Copia la localidad del objeto 4 (el billete) a la bandera 11
SAME1112;y mira si está en la misma localidad que el pájaro
ZERO5;¿Va a volar el pájaro?
DESTROY4;El pájaro coge el billete
SAME1238;¿Está el pájaro en la misma localidad que el jugador?
MESSAGE7Díselo al jugador

Fíjate, no hay acción DONE porque queremos que PAW haga cada entrada, una detrás de otra, siempre que se cumplan los requisitos de las condiciones de ellas. La tabla anterior te muestra comose pueden mezclar condiciones y acciones para crear nuevas condiciones.


COPYOF: Es una acción que debe ser seguida por el número de un objeto y una bandera. Lo que hace es que copia la localidad actual del objeto que se especifique, en la bandera especifica. La usamos en esta situación para ver si el billete está en la misma localidad que el pájaro.


SAME: Es una condición que compara el contenido de dos banderas, y que es favorable o positiva si ambas son del mismo valor.


DESTROY: Es uan acción que pone un objeto especificado en la localidad 252 (localidad no creada).


Ahora vamos a crear dos posibles movimientos para el pájaro.

Si el pájaro está en el pabellón de música y la bandera 5 ha llegado a 0, entonces hay que mover el pájaro, setear la bandera 5 a tres otra vez y decirle al jugador que el pajaro se ha ido, si está en la misma localidad. Y lo mismo si el pájaro está en la rama.


_PAJAROEQ128;¿Está el pájaro en la rama?
ZERO5;¿Es tiempo de volar?
LET125;Mover el pájaro al pabellón
LET53;Tres frases antes de moverse
AT8;¿Está el jugador también aquí?
MESSAGE14Dile que el pájaro ha volado


_PAJAROEQ125;¿Está el pájaro en el pabellón?
ZERO5;¿Es tiempo de volar?
LET128;Mover el pájaro a la rama
LET53;Tres frases antes de moverse
AT5;¿Está el jugador también aquí?
MESSAGE14Dile que el pájaro ha volado

EQ: Es una condición que debe ser seguida por un número de bandera y otro valor, y que será positiva si la bandera contiene ese valor. En este caso (EQ 12 8) está comprobando si el pájaro está en una localidad específicada.


LET: Es una acción que también es seguida por una bandera y un valor. Y pone ese valor en la bandera.


Ya hemos tenido en cuenta el vuelo del pájaro. Ahora vamos a poner sus llegadas, y si llega a una localidad donde está el jugador, hay que decírselo.


_PAJAROEQ53;¿Acaba de volar el pájaro
SAME1238¿Está en la localidad del jugador?
AT5;¿o en el pabellón de música?
MESSAGE11;Ha aterrizado en la hierba

_PAJAROEQ53;¿Acaba de volar el pájaro
SAME1238¿Está en la localidad del jugador?
AT8;¿o en la rama?
MESSAGE11;Ha aterrizado en la rama

Ahora, si el pájaro tiene el billete en su pico debemos decírselo al jugador.


_PAJAROEQ53
SAME1238
ISAT4252;¿El billete no ha sido creado?
MESSAGE10;Tiene el billete en su pico

ISAT: Es una condición seguida de un objeto y el número de una localidad y es positiva si el objeto está en la localidad especificada.


Finalmente, si el emparedado está en la misma localidad que el pájaro, el pájaro dejará el billete para coger el emparedado. Esta entrada no tiene nada que ver con la bandera 5, así que será buscada cada vez que PAW vaya al Proceso 2. Por lo tanto, si el juegador deja caer el emparedado después de que el pájaro haya llegado, la secuencia correcta aun se llevará a cabo.


_PAJAROCOPYOF211;emparedado
SAME1112;¿En la misma localidad que el pájaro?
ISAT4252;¿Lleva el billete en el pico?
COPYFO124;Empieza a caer el billete
SAME1238;¿Está el jugador también por allí?
MESSAGE6;Díselo

COPIFO: Es una acción que copia el contenido de una bandera específica a la localidad actual del objeto específico. También hay acciones COPYFF y COPYOO que son fáciles de comprender.


Así completamos las rutinas de control del pajarito. Pero necesitamos una entrada en el Proceso 2 para llamar a todas esas rutinas cada ciclo, así que busquemos en la tabla 2 y pongamos la entrada que llama a todo el subproceso, es decir, la entrada "madre".

_ PAJARO PROCESS 3

lo que hará que PAW ejecute nuestros controles de pájaro cada vez que pase por ahí.

Ahora debemos asegurarnos de que el pájaro empieza en la localidad correcta y que el jugador sabe que el pájaro está ahí cuando la localidad se describe (o empezará a ver mensajes acerca de un pájaro dando la paliza sin haber tenido ninguna descripción de que existe tal pajaro).

Así que seleccionamos el Proceso 1 (que ya sabemos que se llama después de cada descripción de localidad) y vamos a correfir la entrada existente con * * poniéndole un [LET 12 8], lo cual hará que el &pájaro esté en la rama al principio del juego. La entrada modificada debe de ser:
**AT0
ANYKEY
LET128;El pájaro está en la rama (localidad 8)
GOTO2
DESC

Y también hay que poner la siguiente entrada en la tabla de Procesos, para que le diga al jugador que hay un pajarito, y que tiene el billete.

_PAJAROSAME1238
MESSAGE9
ISAT4252
MESSAGE10

Por último seleccionaremos la tabla de Respuestas e insertaremos la entrada:
COGERBILLETESAME1238;¿Está el pájaro en la misma localidad?
ISAT4252;¿Con el billete en el pico?
CLEAR5;Esto lo fuerza a volar
NOTDONE;"No puedo hacer eso"
Esta entrada se disparará antes de la entrada COGER _ y previene la respuesta "No hay uno de esos aquí" si el pájaro está presente con el billete.

CLEAR: Es una acción que va seguida por un número de bandera, y que pone esa bandera a 0. En este caso hará, que el pájaro salga pitando, simulando su miedo a una gran mano que desciende sobre él para coger su preciada posesión.


NOTDONE: Es una acción similar a DONE, pero que engaña a PAW pensando que no has hecho nada y por lo tanto hace imprimir el mensaje "No puedo hacer eso".


Y ahora, vamos al momento de la verdad. Hay que probar el juego para ver si el pájaro vuela del pabellón de música a la rama. Juega un rato para ver si el pájaro continúa con su existencia vagabunda. Después trata de dejar caer el emparedado en la misma localidad. Date cuenta de que si no coges el billete antes de que el pájaro se pire, el pájaro lo cogerá otra vez.

Y menos mal que acabamos con el bendito pájaro. Es complicado, pero te enseñará un montón sobre PAW.

El perro


Este perro lo ponemos para complicar el juego un poco más. Simplemente seguirá al jugador donde quiera que vaya y espantará al pajarito. Como no se espera que el perro se suba al árbol, debemos impedir que el jugador pueda tentar al pájaro con el emparedado desde la rama. Para hacer eso disponemos que cualquier objeto que se suelte desde la rama del árbol caiga hasta el suelo.

El jugador se puede desembarazar del maldito perro poniéndole la cadena y amarrándola al banco. Además, el jugador puede "hablar" al perro, lo cual le dará otro medio para desembarazarse de él, diciéndole que se SIENTE o que se QUEDE.

Antes de examinar las entradas en las tablas de Procesos y Respuestas., necesitamos tener el control del perro por medio de las siguientes palabras en el vocabulario y mensajes en la tabla de mensajes.
VerbosNombre
ATAR34
DESATAR35
SENTAR36
QUEDAR36
VEN37AQUI37

Los números te demuestran que sentarse y quedarse son lo mismo, y que también usamos un Nombre y un Verbo con el mismo número.


Mensaje 15

El _ cae al suelo al pie del árbol

No se debe cambiar el color de este mensaje, y el que pongamos una raya baja en él tiene un propósito especial, del cual ya hablaremos más adelante.

Los demás mensajes que hablen del perro pueden ser puestos de cualquier otro color, por ejemplo magenta (MODO EXTENDIDO, CAPS SHIFT + 3) no olvidando nunca volver al blanco al final de cada uno de ellos. El color del mensaje le permite al jugador saber exactamente a quién se refiere cada mensaje.


Mensaje 16

El perro me mira con amor

Mensaje 17

El perro está aquí

Mensaje 18

El perro me sigue moviendo la cola

Mensaje 19

El perro va arrastrando la correa

Mensaje 20

El perro está atado al banco con una cadena

Mensaje 21

Confiadamente, el perro me deja ponerle la correa alrededor del cuello

Mensaje 22

He amarrado el perro al banco

Mensaje 23

¿A quién se lo digo?

Mensaje 24

El perro se sienta tranquilo

Mensaje 25

He desatado al perro del banco


No hay verdadera necesidad de hacer la rutina para el perro en una tabla de Procesos separada, porque solamente hay una entrada, pero lo haremos por si quieres ampliar el juego más tarde.

La bandera 13 contendrá la localidad actual del perro.

La bandera 14 contendrá varios indicadores:

0si el perro está libre para andar por ahí
1si el perro tiene la correa alrededor del cuello
2si el perro está atado al banco
255si el perro está sentado muy tranquilo

Desde la tabla de Procesos, con [B] empezamos una nueva tabla de Procesos (debe ser la tabla número cuatro) y ponemos una sola entrada:

_PERRONOTSAME1238¿No está el perro donde está el jugador?
LT142;¿Todavía se puede mover?
NOTAT8;¿El jugador no está arriba del árbol?
COPYFF3813;Mueve el perro a la localidad del jugador
MESSAGE18;y dile que lo atosigue

Suponemos que eres capaz de entender qué es NOTSAME, NOTAT y COPYFF, en caso negativo, en la guía técnica te explicaremos para qué sirve cada una.


LT: Es una condición que es positiva o favorable si la bandera especificada contiene un valor MENOR QUE el valor especificado. En este caso [LT 14 2] solamente será positivo o acertado si la bandera 14 tiene un valor menos de 2.

Ahora vamos a la tabla de Procesos 2:

_ PERRO PROCESS 4

es decir, que estás usando la tabla de Procesos 2 para enviar a PAW a la tabla de Procesos 4.

La entrada "_ Perro", (si usamos [P] para mirar la tabla), debe estar antes de la entrada del pajarito (si no es así es que has puesto las palabras del vocabulario de una forma diferente a como dijimos). Es para asegurar que el perro se mueva a la nueva localidad del jugador antes de que el pájaro sea comprobado.

Similarmente a como hicimos con el pájaro, se requieren entradas en la tabla de Procesos 1, para informarle al jugador de que el perro anda por ahí rondando:

_PERROSAME1338;¿El perro está en la misma localidad?
MESSAGE17;Díselo al jugador
EQ141;¿Con la correa?
MESSAGE19;Sí diselo al jugador


_PERROSAME1338
EQ142;¿Está el perro amarrado al banco?
MESSAGE20


_PERROSAME1338
GT142;255 es mayor que 2, así que
MESSAGE24;Dile al jugador que el perro está sentado

Ya que estamos en la tabla de Procesos 1, modifiquemos la entrada * para que también tenga [LET 13 2] (antes del GOTO), esto hace que el perro empiece en la parada del autobús.

Ahora, para que el perro asuste al pajarito, necesitamos una entrada extra en la tabla de Procesos 3. Pero debe ir delante de la entrada que decide que el pájaro deje caer el billete y después de la entrada que hace que el pájaro vuele. Así nos aseguramos que el pájaro volará con el billete si lo tiene y lo deja si no lo tiene.

Por lo tanto, necesitamos insertar otra entrada antes de la sexta. Usaremos [I _ PAJARO 6] para hacerlo.


_PAJAROSAME1213;El pájaro y el perro están en la misma localidad
LET128;Sólo en el pabellón de música
LET53;Muévelo a la rama, espera 3 frases
AT5;¿Está el jugador en el pabellón de música?
MESSAGE13;Dile que el pájaro se ha ido

El número de cualquier inserción o corrección tiene el valor máximo de 255. O sea, que no debes de insertar más de 256 entradas con el mismo tipo de palabra (lo cual sería de todos modos bastante poco manejable), si quieres retener la habilidad de seguir insertando en cualquier parte de la lista.

El último cambio en la tabla de Procesos es insertar un sub-proceso que luego llamaremos desde la tabla de Respuestas para que se haga cargo de hablar al perro. El mecanismo es muy simple. Si el jugador incluye una frase "(" ")" en su sentencia de INPUT, entonces el parser guardará memoria del lugar donde esté y seguirá descifrando la frase entre comillas.

Hay una acción llamada PARSE que instruye a PAW para que decodifique la cadena de palabras que el jugador haya tecleado, haciendo entonces la Sentencia Lógica. Lo lógico es hacer esto en un sub-proceso porque PAW tratará de buscar una similitud entre la nueva Sentencia Lógica y el resto de la frase.

Entonces comencemos una nueva tabla de Proceso (que debe ser la 5) e insertemos las siguientes entradas:

**PARSE;Convierte una cadena a SL
MESSAGE16;No es una frase válida, así que...
DONE;El perro no te entiende
SIENTATE_ZERO14;¿El perro no está amarrado?
SET14;Ahora está sentado quieto
MESSAGE24;Díselo al jugador (si está en el mismo lugar que el perro)
DONE
VEN_EQ14255;El perro debe estar sentado
CLEAR14;Ahora está normal
MESSAGE18;El perro te sigue
DONE
_AQUIEQ14255
CLEAR14
MESSAGE18
DONE
__MESSAGE16;Cualquier otra cosa

La última entrada se usa para obviar el vocabulario tan limitado que entiende el perro, haciéndole que para cualquier otra frase mueva la cola, por eso se pone la última con _ _.

Recordad que PAW va buscando en toda la tabla de Procesos, y si no encuentra una igual a la que busca caerá en esta última entrada de "_ _".


PARSE: PARSE le permite a PAW continuar buscando condactos si no se encuentra una Sentencia válida. Hay que tener cuidado aquí, puesto que la actual Sentencia Lógica puede estar un poco enrevesada (el parser intentará sacar algún significado de todos modos) así que normalmente se debe insertar algún mensaje como "Parece no entender" o algo similar, y después un DONE para volver a la acción anterior.

Si se forma una Sentencia válida PAW empezará a buscar las siguientes entradas por una similar, como hacía en la tabla de Respuestas. PARSE debe ser solamente usada en un sub-rpceso que sea llamado desde la tabla de Respuestas, puesto que no tiene ningún significado en otra tabla.

Date cuenta de como las entradas VEN y AQUI se hacen cargo de una cantidad de frases que el jugador puede usar después de que el perro esté sentado, porque ambas tienen, una delante y otra detrás, la palabra comodín, o sea, la raya.

Y por último, la entrada "_ _" coge cualquier sentencia que se haya metido en la cadena y para la cual el perro no tenga ninguna respuesta específica.


Selecciona la tabla de Respuestas, para insertar algunas entradas extras que controlen el habla y el dejar caer objetos del árbol.

La primera de todas es la entrada que hace que los objetos que se dejen en el árbol caigan al suelo. Esto debe ir entre la entrada que se hace cargo de poner objetos dentro de la bolsa y la entrada normal de "DEJAR _". Entonces [I PONER _ 1] nos situará en esa posición. La entrada es:

PONER_AT8;Que el jugador esté en la rama
WHATO;Ya hablaremos de ello
LT51255;¿Es un objeto válido?
EQ54254;¿Es un objeto que llevas encima?
MESSAGE15;Avisa que está al pie del árbol
PUTO7;La pone ahí
DONE

Esto es un ejemplo de cómo se crea una acción automática, viene a ser lo mismo que un AUTOG, etc.


WHATO: Es una acción que mira el primer nombre de la Sentencia Lógica actual en la tabla Objeto-Palabra, y la convierte en el número de un objeto. Este número se pone entonces en la bandera 51. La bandera 51 siempre contiene el número del último objeto que se ha usado, o el último del que PAW tiene una referencia, y siempre que esté seteada, las banderas asociadas (números 54 y 57) también se setean.

La bandera 54 lleva la localización actual del objeto. Es conveniente que mires el manual técnico para las banderas 51, 54 y 57.


PUTO: Es una acción que cambia de localidad al objeto últimamente tratado, hacia la localidad que se especifique. O sea, es una acción que cambia el objeto de que se trate hacia la nueva localidad especificada.

El Mensaje 15 contiene una raya. Siempre que PAW encuentra una raya en el texto (sea mensaje o sea localidad) la reemplaza con el objeto actual. Es decir, el mensaje se cambia para tener en cuenta el último objeto que se esté usando.


Ahora una entrada relativamente simple para que se haga cargo de: PONER LA CORREA AL PERRO.


PONERCORREAPREPENCIMA;Para estar seguros de que el jugador teclea eso
NOUN2PERRO
CARRIED5;Que el jugador tenga la correa
SAME1338;Que esté en la misma localidad que el perro
LET141;Ahora el perro tiene la correa
DESTROY5;por lo tanto, el jugador no la puede tener
MESSAGE21;Se le dice
DONE

En las entradas que siguen, introduciremos un nuevo concepto, Se trata de la modificación de la Sentencia Lógica actual.

Nosotros queremos que el juego entienda ambos, ATAR EL PERRO AL BANCO y ATAR LA CORREA AL BANCO puesto que son la misma cosa. Pero tenemos que correa y perro tienen diferente valor como palabras, así que la entrada ATAR PERRO irá primero en la tabla (puesto que su valor es más bajo que la correa). Por lo tanto, hay que convertir el Nombre en CORREA (55) y permitir que PAW lleve a cabo una entrada que equivalga a ATAR CORREA: Un sistema similar hay que utilizar para DESATAR.

Esto es bastante importante, y lo utilizarás en tus juegos con bastante frecuencia. Hay que poner las entradas:

ATARPERROLET3455;La bandera 34 es el Nombre de la SL
ATARCORREAPREPA
NOUN2BANCO
AT4;Donde está el banco
SAME1338;El perro está aquí
EQ141;Tiene la correa puesta
PLUS141;Ahora atado al banco
MESSAGE22;Se informa al jugador sobre ello
DONE
ATAR_NOTDONE;Para asegurarse de que no pueda
DESATARPERROLET3455;La bandera 34 es el nombre de la SL
DESATARCORREAAT4;Donde está el banco
EQ142;Si ya está el perro atado
CLEAR14;La bandera indica que está libre
MESSAGE25;Díselo al jugador
CREATE5;Hay que volver a crear la correa
GET5;Dársela al jugador, cogerla
DESATAR_NOTDONE;Es para asegurarse de que no pueda desatar otra


CREATE: Es una acción que debe ser seguida por un número de objeto. Ello causa que el objeto aparezca en la posición donde está el jugador.


GET: Es una acción que si está seguida por un número de objeto, intenta coger el objeto especificado.


Usamos estas acciones en vez de poner el objeto simplemente en 254, porque puede haber problemas debido al peso o al demasiado número de objetos que se lleven, y entonces estos problemas deben de producir información.

Finalmente pondermos las entradas que permitan hablar al perro. Hemos también incluido algunas entradas necesarias para que se te permita hablar al pájaro, pero que él te ignore.

DECIRPERROSAME1338;Que esté aquí
PROCESS5;Se le manda a esa tabla para que haga el trabajo
DONE
DECIRPAJAROSAME1238
MESSAGE8
DONE
DECIR_MESSAGE23;Que pregunte: ¿Quién?
DONE

No ponemos nada para la preposición A, esto permite al jugador recortar su orden si así lo quiere. En líneas generales no se debe hacer una comprobación para una Sentencia Lógica extendida, a menos que sea necesario para diferenciar entre dos frases similares.

Como prueba final, ahora debes jugar la aventura intentando atar al perro, hablarle y todas esas chorradas. Por ejemplo, cuando estemos en el caminoi cerca del banco del parque, con la correa y el perro, intenta PONER LA CORREA AL PERRO y ATARLO AL BANCO.

Luego para desatarlo digamos:DESATA PERRO
Si estamos arriba del árbol con la bolsa, digamos PON TODO EN LA BOLSA y SUELTALA. BAJA y MIRA DENTRO DE LA BOLSA.

Para hacer que el perro se siente teclea: DECIR AL PERRO "SIENTATE".

Para hacerle volver: DECIR AL PERRO "VEN AQUI".

¿Funciona?... Malegro.


[Anterior] - [Siguiente]

[Ir arriba]