Q'AECHO ESTO? (1)

Por... Melitón Rodríguez, el de la 117.

¡Vaya, qué es esto! Me parece que hoy me he equivocado de sección. Oye, Juanjo... Sí, tú... ¿Por dónde cae la sección de Rol? Creo que me he perdido. ¿Cómo que ya la he hecho? Entonces, ¿qué diablos hago aquí? Ah claro, lo del parser,... y bueno, ¿por qué no hace la sección el pamplinas de Juan Antonio? El parser es suyo, ¿no?... Bueno, bueno vale...

¡Hola! Me encuentro un poco raro, este papel es diferente; quizás como está más adentro del fancine, es que no hace tanto fresco. Pues según parece tengo que hacer una sección para explicar el CAECHO?

¿Cómo que qué es el CAECHO?... Pues no sé la verdad...Un momento que lo pregunte aquí al lado...

... ...

¡Vale, vale hombre! Joder, cómo se ha puesto Javier San José. Total por preguntarle qué era el CAECHO?, no sé que mosca le habrá picado.

Bueno, pues según parece es un parser, ¡qué cosa!, para PC y para AMIGA. Y que... Bueno, a ver la propaganda... "65535 mensajes,..." !La ostia¡, "10000 localidades y objetos..." ¡Cachis la mar! Esperaos que me voy leer el manual, creo que esto puede estar bien.

... ...

¡Hola! Ya he vuelto. Esto es muy interesante. Claro que es muy diferente a los otros parsers que he visto. Bueno, no tanto. Para empezar es de lo más completito, como dice la propaganda acepta muchos más mensajes, objetos y localidades de lo que puedes necesitar en cualquier aventura normal. Además las capacidades de manejo de PSIs están bastante bien. Y la versión 1.3 es capaz de cargar gráficos y letras diferentes!.

El problema está en la parte de procesos, que es muy diferente a lo habitual. Así que voy a irlo explicando poco a poco. En cada artículo os iré explicando unos cuantos condactos de los que dispone (Tiene 130 condactos disponibles si contamos los macros predefinidos, que son como condactos reales) y os pondré algunos ejemplos de uso.

Pero primero voy a explicaros un poco en que consiste la cosa y luego veremos un primer ejemplo. El sistema tiene tres programas: CECH, IECH y LECH.

CECH: es el compilador. Este sistema no tiene entorno como lo tenía el PAWS, por lo tanto tendremos que escribir la aventura toda junta en un fichero de texto (con los objetos, las localidades y los procesos una cosa detrás de otra). Cuando tengamos el fichero de texto hecho lo pasamos por el compilador, el CECH (anda que el nombrecito tiene miga, sólo al pamplinas de Juan Antonio se le podía ocurrir). El CECH traducirá el fichero en una serie de códigos que el interprete entiende.

IECH: es el interprete. Una vez compilada la aventura si llamas al IECH dándole como parámetro el nombre completo del fichero que generó CECH la aventura en cuestión se ejecutará.

LECH: es una especie de linkador de aventuras. Si lo llamas creará a partir de una aventura compilada un fichero ejecutable que será la aventura ya lista para vender o regalar, o lo que sea.

El fichero de datos estará dividido en secciones, donde iran las diferentes cosas que van en una aventura. Habrá secciones de mensajes, de objetos, de localidades, de procesos (que aquí se llaman bloques), de rutas, etc...

El CAECHO? este, es una especie de lenguaje especializado en aventuras conversacionales. Es decir, se pueden hacer otras cosas con él. Lo único que hace el intérprete es ejecutar lo que encuentre en el proceso 0 (el bloque 0 como se dice en CAECHO?), es decir, no hace un ciclo repetitivo como el PAWS en que se preguntaba al jugador, se miraba en la tabla de repuestas y luego en la tabla de procesos 2, etc... Todo eso queda de nuestra cuenta. Esto hace que para empezar a trabajar en una aventura se tenga que escribir un poco más, pero da bastante más flexibilidad (Se podrían hacer aventuras con menús, por ejemplo con el uso del condacto TECLA, o hacer que varios jugadores jugasen al mismo tiempo preguntándoles alternativamente que van a hacer uno y otro.) Además si lo que quieres es hacer una aventura 'normalita', tradicional tienes en el disco del sistema una base de datos 'INICIAL.FUE' en que ya están todos los elementos necesarios para programar aventuras.

Pero vamos con un pequeño ejemplo. Siempre cuando empiezas a aprender un lenguaje totalmente nuevo te obligan a escribir un programa que ponga ¡HOLA! en pantalla. Yo creo que es una cursilería inútil, ¿no?. Vamos a hacer un programa más interesante, que nos sirva para descargarnos; vamos a escribir un programa que ponga en pantalla: "Fulano es Gilipollas!!". Y donde está Fulano, ponéis a quién más odiéis: el gato de vuestra vecina, vuestro compañero de clase que siempre saca diez, vuestra suegra... bueno de eso no creo que tengáis.

Bueno pues para hacer esto necesitamos un condacto que escriba algo en pantalla. En CAECHO? hay varios, nosotros usaremos MENSAJE. A MENSAJE hay que pasarle dos parámetros el número de la tabla donde está el mensaje (en CAECHO? se pueden usar 256 tablas de mensajes de hasta 256 mensajes cada una), y el mensaje de la tabla que en particular queréis escribir. O sea, necesitamos una tabla de mensajes que contenga el mensaje de "Fulano es Gilipollas!!". Eso es una sección. Para hacer una sección de mensajes se pone:

        \MEN n
	

donde 'n' es el número de la tabla que vamos a crear. Nuestra tabla sería:

        \MEN 1 /: Voy a usar la tabla 1, y esto es un comentario :/
        \0 ""Fulano es Gilipollas!!""

Hemos usado la tabla 1 y el mensaje 0 de la tabla. Como podéis ver los mensajes tienen doble entrecomillado para que dentro se pueda poner las comillas como un caracter cualquiera. Lo que va entre /: y :/ es un comentario es algo que el compilador ignora y que solo sirve para aclararnos a nosotros (es como el REM del BASIC).

Así que lo que tenemos que ejecutar es MENSAJE 1 0. Pues vale, para ello tendremos que abrir la sección de bloques (se hace con \BLO) y dentro poner el bloque cero que es el que ejecuta el intérprete. Para poner el bloque cero tendríamos que poner BLOQUE [0], el nombre (pongamos por ejemplo INSULTO) los argumentos (que es algo que no nos importa de momento, y pondremos '()' ) y luego entre llaves lo que queremos que se ejecute. El programa final sería así:

        \MEN 1
        \0 ""Mi sicólogo es un gilipollas!!""

        \BLO
        BLOQUE [0] Insulto () { MENSAJE 1 0; }

Y ya está. Sólo tened cuidado en poner el punto y coma que debe ponerse en CAECHO? detrás de cada acción. Teclead lo de antes en vuestro editor de textos favorito, grabadlo con el nombre de INSULTO.FUE, por eso de ser originales y pasadlo por el CECH con

        C:\> CECH INSULTO.FUE INSULTO.AVT
	

y luego por

        C:\> IECH INSULTO.AVT
	

¿Bonito verdad?. Probar a escribir otras cosas. En el próximo fancine os enseñaré como hacer bucles para escribir muchos insultos seguidos. Os animo a leeros el manual en todo el tiempo que falta hasta el próximo fancine e intentar aprender más cosas por vuestra cuenta. Recordad que la versión 1.2 es de DOMINIO PUBLICO y me han dicho por ahí que se ha organizado un concurso o algo así.

Si tenéis dudas o algo así, no me las enviéis a mí, no me gustan las cartas. ¿Quién sabe si no serán cartas bomba? ¿O cartas de amor, que son peores! Se lo mandáis todo al pamplinas de Juan Antonio como en la sección de Rol, que seguro que el tonto os responderá personalmente y todo. Ya sabéis la dirección:

                Juan Antonio Paz Salgado
                Plaza Cartaya 2, 1º A
                 28024 MADRID

A mí no me enviéis nada, ¿vale?. Además en el manicomio me las censuran todas.