CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 17 Oct 2019 06:54

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 4 mensajes ] 
Autor Mensaje
NotaPublicado: 02 Mar 2005 15:33 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Sep 2004 12:53
Mensajes: 1145
Según aparece en DocumentATE y en otros sitios un fichero básico en InformATE serí­a tal que así­:

Código:
Constant Historia "RUINAS";
Constant Titular "Un ejemplo a seguir";

Include "EParser";
Include "Acciones";

Object  Bosque "Bosque Sombrí­o"
 with   descripcion
            "En este diminuto claro ... en el aire.",
 has    luz;

[ Inicializar;
    localizacion = Bosque;
    "^^^^^Tras dí­as de búsqueda ... ¡Has descubierto algo!^";
];

Include "Gramatica";

Es decir, se supone que "Gramatica" se incluye al final del código y después de la inclusión se añadirí­an las lí­neas de gramática particulares del juego.

Pero cuando he ido a utilizar librerí­as como "Decorados", "ETemas" o "Cortos" todas piden que se incluyan después de "Gramatica" supongo que porque tienen sus propias lí­neas de gramática que modifican las de la librerí­a original.

El problema es que si incluyo "Decorados" o "ETemas" al final del código cuando en medio voy a utilizar uno de los objetos que estas librerí­as definen obtengo un error (lógico por otro lado) de "Objeto sin definir".

En "Una pequeña historia de Navidad" lo solucioné subiendo la inclusión de "Gramatica" a la cabecera del fichero:
Código:
Constant Historia "RUINAS";
Constant Titular "Un ejemplo a seguir";

Include "EParser";
Include "Acciones";
Include "Gramatica";
Include "Cortos";

cortometraje Presentacion
...


y añadiendo al final del fichero las lí­neas de gramática del juego.

En principio todo compila bien y no da problemas. Por eso pregunto... ¿Hay alguna razón práctica para que la inclusión de "Gramatica" tenga que ir al final?

_________________
- Lenko -


Arriba
 Perfil  
 
NotaPublicado: 02 Mar 2005 17:46 
Lenko escribió:
En principio todo compila bien y no da problemas. Por eso pregunto... ¿Hay alguna razón práctica para que la inclusión de "Gramatica" tenga que ir al final?


No estoy del todo seguro, pero jurarí­a que lo imperioso es, en este orden (o alguno parecido ^_^):

-que las lineas de extensión de la gramática (las "extend") vayan después (no es necesario que sea inmediatamente después, sino solamente después XD) tanto del "Include gramatica;" como de las rutinas "Sub" creadas por el autor a las que referencien.

-y a su vez, y por idénticos motivos, que el "Include gramatica;" vaya después del "include acciones;". No importa que sea justito después o cientos de lineas después mientras siga siendo "después"

Una manera práctica de asegurar todo ello es acostumbrar al programador a poner el "include gramatica;" seguido de las lineas "extend" como "lo último de lo último"

Pero en realidad nada impide poner el "include gramatica;" más "cerca" del principio del listado, junto con los otros includes, siempre que vaya después de incluir "eparser" y "acciones"

Es muy posible que tus listados funcionen si dejas el "include gramatica;" al final pero pones los includes de cortos, etemas, decorados, etc... al principio, antes de los objetos que vayan a utilizar pero después de los includes de Eparser y acciones, ya que ninguno de estos módulos (si echas un vistazo a sus rerspectivos listados) usan lineas de extensión de gramática, pero ojo, que lo estoy diciendo sin probar ^^

¿Por qué entonces los ficheros de documentación de, al menos, cortos y decorados piden expresamente que se incluyan "después" de gramatica? Pues... juro que es un completo misterio para mí­... Quizá Mel tení­a una buena razón para ello, o quizá simplemente sea una herencia del modelo de plantilla de Morgul que todaví­a, creo, se mantiene en el kit en el que poní­a el "include gramatica;" al principio, junto al resto de includes (aunque religiosamente después de eparser y acciones), una situación correcta, aunque la otra sea más recomendable. Pero insisto en que no lo puedo asegurar a ciencia cierta.

Vamos, que en teorí­a el siguiente orden:

Código:
Include "Eparser";
Include "Acciones";

Include "Cortos";
Include "Etemas";
Include "Decorados";

!
! Resto de la aventura
! con sus objetos y rutinas
! variados, incluyendo los que vayan
! a usar decorados, cortos, etemas, etc...
!

Include "Gramatica";

!
! cuantas lineas "extend" hubiera que poner
!


...deberí­a de ser válido, pruebalo a ver. De todos ellos yo sólo he usado alguna vez "Etemas", siguiendo este orden, y sin ningún problema.


Arriba
  
 
NotaPublicado: 02 Mar 2005 18:03 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Anonymous escribió:
[
Quizá Mel tení­a una buena razón para ello...

De todos ellos yo sólo he usado alguna vez "Etemas", siguiendo este orden, y sin ningún problema.


Jen dibujando el retrato robot de "invitado"...
:twisted:


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 02 Mar 2005 23:52 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Sep 2004 12:53
Mensajes: 1145
Ok, todo claro y, además, lógico.

La verdad es que me extrañaba que esas librerí­as cambiaran la gramática ya que no añadí­an ningún comando, pero hice caso de sus manuales.

He examinado también "Cortos.h" y tampoco utiliza ningún "Extend" así­ que también puede ir al principio.

Muchas gracias.

_________________
- Lenko -


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 4 mensajes ] 

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
cron
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM