CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 14 Dic 2019 02:23

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 48 mensajes ]  Ir a página Anterior  1, 2, 3, 4  Siguiente
Autor Mensaje
 Asunto:
NotaPublicado: 16 Abr 2009 03:30 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 24 Ago 2007 00:41
Mensajes: 2023
Ubicación: Chile
"Extends only" es la forma correcta de separar una o algunas palabras del diccionario que usara una acción ya definida y ocuparlas en una nueva acción.

No me podía acordar. Gracias a Lenko por la info, que además de Makinaino también nos sirve al resto. :)

Tampoco estoy de acuerdo en que sea buena idea copiar una gramática "completa" y hacer replaces. Porque las gramáticas no son como las rutinas, no se pueden "reemplazar" en una construcción completa (no es igual que hacer "Replace DrawStatusLine()" [sí, sé que no tiene nada que ver, pero sirve como ejemplo]). Si se debe reemplazar masivamente una gramática, lo mejor es editar directamente el archivo SpanishG.h (pero tal como dice Baltasar, en último recurso). Editando el archivo te evitarás una serie de warnings y de potenciales errores del compilador si lo que pretendes es reemplazar masivamente una gramática, sobre todo si esta es una "fundamental" de I6.

_________________
Eliuk Blau
eliukblau (AT) gmail.com
http://www.caad.es/eliukblau/


Arriba
 Perfil  
 
NotaPublicado: 16 Abr 2009 03:31 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 24 Ago 2007 00:41
Mensajes: 2023
Ubicación: Chile
baltasarq escribió:
Código:
InformATE!                                I6Sp
accion .............................  action
uno     .............................  noun
otro    .............................  other
Entrar .............................  GoIn
Go       ............................. Ir


Por cierto...

uno.... noun
otro.... second

Saludos! :)

_________________
Eliuk Blau
eliukblau (AT) gmail.com
http://www.caad.es/eliukblau/


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 08:46 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Sep 2004 12:53
Mensajes: 1145
Eliuk Blau escribió:
Tampoco estoy de acuerdo en que sea buena idea copiar una gramática "completa" y hacer replaces. Porque las gramáticas no son como las rutinas. ... Editando el archivo te evitarás una serie de warnings y de potenciales errores del compilador si lo que pretendes es reemplazar masivamente una gramática, sobre todo si esta es una "fundamental" de I6.

Eliuk, me gustaría que ampliaras esto. ¿Qué problemas puede traer el usar "replace"? Yo siempre había entendido que su función era borrar totalmente la gramática anterior y utilizar la nueva.

Es que estoy bastante seguro que lo usé unas cuantas veces en "Una pequeña historia..." y no recuerdo haber tenido ningún tipo de problemas.

_________________
- Lenko -


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 08:59 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
Eliuk Blau escribió:
Si se debe reemplazar masivamente una gramática, lo mejor es editar directamente el archivo SpanishG.h (pero tal como dice Baltasar, en último recurso).


Yo no haría eso ni siquiera como último recurso, sería más limpio hacer una copia de SpanishG.h por ejemplo a MiSpanishG.h y modificar esta, y distribuir ese fichero con los fuentes de la aventura.

Claro que yo hablo desde el punto de vista de publicar los fuentes, si no piensas publicarlos te da absolutamente igual, puedes guarrear la librería como te plazca. ;)


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 09:03 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 10 Mar 2004 11:58
Mensajes: 1817
Ubicación: Madrid
Lenko escribió:
Eliuk Blau escribió:
Tampoco estoy de acuerdo en que sea buena idea copiar una gramática "completa" y hacer replaces. Porque las gramáticas no son como las rutinas. ... Editando el archivo te evitarás una serie de warnings y de potenciales errores del compilador si lo que pretendes es reemplazar masivamente una gramática, sobre todo si esta es una "fundamental" de I6.

Eliuk, me gustaría que ampliaras esto. ¿Qué problemas puede traer el usar "replace"? Yo siempre había entendido que su función era borrar totalmente la gramática anterior y utilizar la nueva.

Es que estoy bastante seguro que lo usé unas cuantas veces en "Una pequeña historia..." y no recuerdo haber tenido ningún tipo de problemas.


Supongo que el problema pudiera venir por líneas sueltas. Por ejemplo, si estamos reemplazando 'entrega' a la vez estamos reemplazando 'da', y respecto a 'da', quizá nos dejemos una línea perdida más adelante tal que:

extend only 'da' first
* 'patada' 'a//' creature ->attack;

Saludos

_________________
_/ /\ R e \_


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 09:05 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
Lenko escribió:
Eliuk, me gustaría que ampliaras esto. ¿Qué problemas puede traer el usar "replace"? Yo siempre había entendido que su función era borrar totalmente la gramática anterior y utilizar la nueva.


Puedo equivocarme, ya que tengo Inform muy oxidado pero si no recuerdo mal, replace funcionaba solo con rutinas, es decir con gramáticas directamente no se aplicaba, para gramáticas la forma era extend con los matices que sean (only, first, etc.) como ha dicho Eliuk.

Lenko escribió:
Es que estoy bastante seguro que lo usé unas cuantas veces en "Una pequeña historia..." y no recuerdo haber tenido ningún tipo de problemas.


No he podido comprobarlo porque no están los fuentes disponibles.


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 09:13 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
Ah, ya recuerdo como era, es que hay que usar replace en conjunción con extend, así:

Código:
extend 'verbo' replace
...


Eso elimina las líneas de gramática existentes y solo incluye las nuevas.

No tiene nada que ver con replace a secas, que se usa para rutinas:

Código:
replace rutina;


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 09:14 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Sep 2004 12:53
Mensajes: 1145
jarel escribió:
Supongo que el problema pudiera venir por líneas sueltas. Por ejemplo, si estamos reemplazando 'entrega' a la vez estamos reemplazando 'da', y respecto a 'da', quizá nos dejemos una línea perdida más adelante tal que:

extend only 'da' first
* 'patada' 'a//' creature ->attack;

Cierto, eso podría ser un problema porque Inform crea una copia de la gramática para da.

_________________
- Lenko -


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 09:15 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
presi escribió:
Ah, ya recuerdo como era, es que hay que usar replace en conjunción con extend, así:

Código:
extend 'verbo' replace
...


Eso elimina las líneas de gramática existentes y solo incluye las nuevas.

No tiene nada que ver con replace a secas, que se usa para rutinas:

Código:
replace rutina;


Bueno, eso ya lo habíais dicho en mensajes anteriores, estoy un poco dormido esta mañana. ;)


Última edición por presi el 16 Abr 2009 09:17, editado 1 vez en total

Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 09:16 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Sep 2004 12:53
Mensajes: 1145
presi escribió:
Ah, ya recuerdo como era, es que hay que usar replace en conjunción con extend, así:

Código:
extend 'verbo' replace
...

A ese replace me estaba refiriendo yo.

Citar:
No he podido comprobarlo porque no están los fuentes disponibles.

Son míííííosssss. Mi tessssorroooo. :D

_________________
- Lenko -


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 09:20 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
jarel escribió:
Supongo que el problema pudiera venir por líneas sueltas. Por ejemplo, si estamos reemplazando 'entrega' a la vez estamos reemplazando 'da', y respecto a 'da', quizá nos dejemos una línea perdida más adelante tal que:

extend only 'da' first
* 'patada' 'a//' creature ->attack;


Cierto, por eso yo solía, en la medida de lo posible, tener juntas todas las líneas de gramática referidas a una misma acción, aunque a veces no era fácil porque un mismo verbo podía generar distintas acciones, y te veías en las disyuntiva de agrupar por verbo o por acción.


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 17:16 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 24 Ago 2007 00:41
Mensajes: 2023
Ubicación: Chile
presi escribió:
Eliuk Blau escribió:
Si se debe reemplazar masivamente una gramática, lo mejor es editar directamente el archivo SpanishG.h (pero tal como dice Baltasar, en último recurso).


Yo no haría eso ni siquiera como último recurso, sería más limpio hacer una copia de SpanishG.h por ejemplo a MiSpanishG.h y modificar esta, y distribuir ese fichero con los fuentes de la aventura


Oh, ejem, bueno, es eso a lo que me refería. :P Jajajaja! Digo, editar el archivo para mí es básicamente cambiarlo y crear una copia nueva. Jamás cambiaría intencionadamente un archivo "legal" y lo dejaría ahí tal cual. Aunque supongo que sí existirá quienes sean capaces de cometer semejante delito, jajajaja, perdón. (broma).

En fin, que ha sido un error mío de omisión, pero me refería exactamente a lo que me menciona presi.

_________________
Eliuk Blau
eliukblau (AT) gmail.com
http://www.caad.es/eliukblau/


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 17:20 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 24 Ago 2007 00:41
Mensajes: 2023
Ubicación: Chile
Lenko escribió:
jarel escribió:
Supongo que el problema pudiera venir por líneas sueltas. Por ejemplo, si estamos reemplazando 'entrega' a la vez estamos reemplazando 'da', y respecto a 'da', quizá nos dejemos una línea perdida más adelante tal que:

extend only 'da' first
* 'patada' 'a//' creature ->attack;

Cierto, eso podría ser un problema porque Inform crea una copia de la gramática para da.


Me refería exactamente a eso cuando hablaba de los "problemas". :P Es mejor tomar toda la gramática y redefinirla completamente si es que es muy compleja. Sea creando un gran hack o editando (en nueva copia) el SpanishG.h

Si no es muy compleja, de una o dos palabras que hay que quitar de alguna acción, con extend bastará.

_________________
Eliuk Blau
eliukblau (AT) gmail.com
http://www.caad.es/eliukblau/


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 18:04 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 10 Mar 2004 21:40
Mensajes: 1444
Ubicación: Nímgar, Ciudad Lunar
No puedo estar más en desacuerdo. Si se hace eso entonces tu aventura no podrá recompilarse con versiones futuras de la librería base y de tal fichero.

Y con I7 que tendrías que tocar el Spanish.i7x que no solo contiene gramática sino TODO LO DEMÁS, sería un disparate hacerlo así.

_________________
Mel Hython
------------------
http://mel-hython.blogspot.com/


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 16 Abr 2009 18:14 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Sep 2004 12:53
Mensajes: 1145
El tema de que funcionara con versiones posteriores de la librería (y que no cambiara el comportamiento) fue la razón principal para utilizar el método de copiar la gramática de ese verbo y retocarla en mi propio código.

_________________
- Lenko -


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 48 mensajes ]  Ir a página Anterior  1, 2, 3, 4  Siguiente

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados


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