CAAD
https://foro.caad.es/

Empezando con Infom
https://foro.caad.es/viewtopic.php?f=12&t=4791
Página 1 de 1

Autor:  Notxor [ 19 May 2011 18:36 ]
Asunto:  Empezando con Infom

Hola chicos.

Acabo de empezar con el Inform con mi primera aventura. De momento he llegado a dos conclusiones:

1.- Esto es más complicado de lo que parece y me mola.
2.- Ando más perdido que los piojos de Kojak.

En resumen, tengo un problema de personalización. Estoy mirando y dándole vueltas a una puerta. Seguro que es una tontería pero me gustaría cambiar cómo describe el sistema los objetos en las descripciones. Por defecto, la versión en español pone:

Código:
Puedes ver a (lo que sea) aquí.


Eso hace que si hay una puerta (como es mi caso) diga algo así como:

Código:
Puedes ver a puerta aquí.


He cambiado el nombre escrito de puerta por "la puerta"... tampoco suena demasiado bien el "Puedes ver a la puerta aquí.", lo normal sería "Puedes ver una puerta" o "Ves la puerta".

Para que no me suene demasiado mal la he puesto reglas según esté abierta o cerrada y he conseguido que diga "Puedes ver a la puerta abierta. La gente que pase por el pasillo podrá verte aquí."...

Me parece que debe haber una solución más sencilla y que esos mensajes se podrán personalizar. ¿Alguien puede echarme una mano?

Un saludo y gracias anticipadas.

Autor:  Matias Biato [ 19 May 2011 20:54 ]
Asunto:  Re: Empezando con Infom

Bueno, según tengo entendido hay 3 maneras de hacerlo:

1) Si lo que quieres es que el nombre que se imprime en pantalla sea distinto al nombre del objeto lo que debes usar es la propiedad 'printed name'. Un ejemplo sería:

Código:
A puerta is a female door with printed name "puerta gigante de hierro".


2) Si lo que quieres cambiar es la frase con la que se describe el objeto en la localidad puedes usar la propiedad 'initial appearance'. Ejemplo:

Código:
A puerta is a female door with initial appearance "Hacia el norte puedes ver [a puerta] [if puerta is open]abierta[else]cerrada[end if]."


Pongo 'a puerta' entre corchetes para que sustituya ese texto por el árticulo correcto y por el printed name de el objeto puerta.

3) O puedes usar la regla 'for writing a paragraph about puerta' del siguiente modo:

Código:
Rule for writing a paragraph about puerta:
   say "[initial appearance of puerta][line break].";
   say "otras cosas...";


De todas maneras yo también recien estoy empezando, así que toma todo lo que digo con pinzas.

Autor:  Notxor [ 19 May 2011 21:21 ]
Asunto:  Re: Empezando con Infom

Muchas gracias Matías. Voy a probar ahora mismo. He estado mirando la ayuda que viene con Inform (una de las cosas que me hizo decantarme por él) algunas cosas las encuentro, pero otras no sé siquiera si existen o cómo se llaman para hacer una búsqueda (algunas veces la traducción al inglés sirve, otras no).

Un abrazo.

Autor:  Johan Paz [ 19 May 2011 21:30 ]
Asunto:  Re: Empezando con Infom

Notxor escribió:
Hola chicos.

Acabo de empezar con el Inform con mi primera aventura. De momento he llegado a dos conclusiones:

1.- Esto es más complicado de lo que parece y me mola.
2.- Ando más perdido que los piojos de Kojak.

En resumen, tengo un problema de personalización. Estoy mirando y dándole vueltas a una puerta. Seguro que es una tontería pero me gustaría cambiar cómo describe el sistema los objetos en las descripciones. Por defecto, la versión en español pone:

Código:
Puedes ver a (lo que sea) aquí.


Eso hace que si hay una puerta (como es mi caso) diga algo así como:

Código:
Puedes ver a puerta aquí.


He cambiado el nombre escrito de puerta por "la puerta"... tampoco suena demasiado bien el "Puedes ver a la puerta aquí.", lo normal sería "Puedes ver una puerta" o "Ves la puerta".

Para que no me suene demasiado mal la he puesto reglas según esté abierta o cerrada y he conseguido que diga "Puedes ver a la puerta abierta. La gente que pase por el pasillo podrá verte aquí."...

Me parece que debe haber una solución más sencilla y que esos mensajes se podrán personalizar. ¿Alguien puede echarme una mano?

Un saludo y gracias anticipadas.


Mira a ver si tu código pone: 'Puerta...' si es así I7 al compilar creerá que es un nombre propio y por eso te imprime 'Puedes ver a puerta aquí' (imagina que fuese Pepe, sería Puedes ver a Pepe aquí). La manera más fácil es definir la puerta como 'A puerta...' (que imprimiría Puedes ver una puerta aquí), o 'The puerta...' (que imprimiría Puedes ver la puerta aquí).

Suerte.

Autor:  Notxor [ 19 May 2011 21:51 ]
Asunto:  Re: Empezando con Infom

Muchas gracias Johan. Lo tengo definido como:
Código:
The puerta is a door.


He estado probando las alternativas que puso Matías y me ha gustado el control que proporciona el tercer método que ha posteado.

Autor:  Johan Paz [ 19 May 2011 22:50 ]
Asunto:  Re: Empezando con Infom

Notxor escribió:
Muchas gracias Johan. Lo tengo definido como:
Código:
The puerta is a door.


He estado probando las alternativas que puso Matías y me ha gustado el control que proporciona el tercer método que ha posteado.


Con este código:
Código:
Include Spanish by Sebastian Arg.
Lugar vacio is a room. The description of lugar vacio is "Un lugar vacío sin nada que hacer más que hablar.".
The printed name of lugar vacio is "Un lugar de un vacío casi existencial".

Otro lugar is a room.

A  puerta is east of lugar vacio and west of otro lugar. The puerta is a female door.


El resultado es:

Código:
Un Lugar De Un Vacío Casi Existencial
Un lugar vacío sin nada que hacer más que hablar.

Puedes ver una puerta aquí.


No te sale igual? Seguro que tienes la librería correcta?

Autor:  Notxor [ 20 May 2011 21:16 ]
Asunto:  Re: Empezando con Infom

Johan Paz escribió:
(...)

No te sale igual? Seguro que tienes la librería correcta?


No sé si tendré la librería correcta, la bajé siguiendo los links del tutorial de inform7. Y no, no sále "una puerta" sino "a la puerta"... lo cual no es ni un poquito correcto. Pero bueno, seguro que hay algo que hago mal... me pierdo en detalles que a lo mejor no son importantes y obvio otros que sí lo son.

Un saludo.

Autor:  Matias Biato [ 20 May 2011 22:29 ]
Asunto:  Re: Empezando con Infom

Estoy confundido, no se que es exactamente lo que quieres hacer. ¿Puedes postear parte de el código que tienes, o por lo menos como te gustaría que se impriman en pantalla las cosas?

Por ahora te paso algunos capítulos en la documentación que te pueden llegar a interesar:

1) Capítulo 3.18: Artículos y nombre propios.
En este capítulo se explica lo que te hablo Johan Paz acerca de la diferencia entre 'a', 'the' o directamente el nombre del objeto.

2) Capítulo 5.3: Texto que nombra a objetos.
En este capítulo se explica algunas sustituciones de texto (lo que pones entre corchetes en una cadena de texto) como por ejemplo: [a object], [A object], [the object], etc.

¿No te sirvió lo que te escribí en primer lugar sobre la 'initial appearance' o 'for printing a paragraph for puerta'?

Si escribes por ejemplo:

Código:
A puerta is a female door with initial appearance "[A puerta] está aquí.".


Mostrará:

Código:
Una puerta está aquí.


En cambio si escribes:

Código:
The porton is a door with initial appearance "[The porton] está aquí.".


Mostrará:

Código:
El portón está aquí.


¿Tu problema lo tenes con los artículos o con personalizar la forma es la que se describen los objetos en la descripción de la localidad? ¿Te sirven las porciones de código o necesitas un ejemplo completo que se puede compilar?

Autor:  Notxor [ 21 May 2011 09:22 ]
Asunto:  Re: Empezando con Infom

No sé si será lo más correcto, pero al final lo he solucionado escribiendo:
Código:
The puerta is north of habitacion and south of pasillo. The puerta is a female and closed door.

Rule for writing a paragraph about puerta:
   say "Puedes ver una puerta metálica que separa tu cuarto del pasillo amortiguando los continuos ruidos del ir y venir de la gente.";
   if the puerta is open, say "La gente que pase por el pasillo podrá verte.";
   if the puerta is closed, say "Está cerrada guardando la poca intimidad que tienes en la estación espacial.".


Seguro que se podría hacer de manera más fácil, pero me da resultados aceptables y consigo entender porqué (que es que soy muy torpe yo :oops: ).

Un saludo a todos y gracias por las respuestas.

Autor:  Matias Biato [ 21 May 2011 13:06 ]
Asunto:  Re: Empezando con Infom

Hola Notxor.

Escribí el ejemplo que ahora te voy a mostrar. Espero que puedes aprender algo de él y no este complicando yo las cosas innecesariamente. Suerte.

Código:
"Prueba - Estación espacial"

Book - Extensiones

Include Spanish by Sebastian Arg.

Book - Localidades

Chapter - Regiones

[Creo una región para cuando quiero crear los backdrops no andar escribiendo localidad por localidad, de esta manera solo tengo que poner el nombre de la región.]

Estación-espacial is a region. Habitacion and Pasillo are regionally in estación-espacial.

Chapter - Backdrops

[Los backdrops son objetos que pueden estar en más de una localidad. Los uso para que cuando el jugador intente examinar objetos que se mencionan en las descripciones no diga "No veo eso que dices" sino "No ves nada especial en...".]

Some ruidos, a gente, a cuarto, a pasillo-backdrop and a estacion espacial are backdrops in estación-espacial.

A gente and a estacion espacial are female.

[Al pasillo-backdrop lo pongo como nombrado de forma privada para que no colisione con el nombre de la habitación pasillo.]
Pasillo-backdrop is privately-named.

The printed name of estacion espacial is "estación espacial".
The printed name of pasillo-backdrop is "pasillo". 

[Define algunos sinónimos con understand]
Understand "pasillo" as pasillo-backdrop.
Understand "habitacion/pieza/dormitorio" as cuarto.

[Escribo esto para que cuando alguien intente examinar los ruidos intente la acción escuchar.]
Instead of examining ruidos:
   try listening;

Chapter - Habitacion

Habitacion is a room.

[Defino el comportamiento particular para escuchar cuando estás en la habitación.]
Instead of listening when location is habitacion:
   if puerta metalica is open:
      say "Puedes escuchar los continuos ruidos del ir y venir de la gente.";
   else:
      say "No escuchas nada fuera de lo común.";

Section - Objetos de la habitacion

[Hay una técnica que se llama BENT (Pon entre corchetes cada objeto notable, algo así...). Consiste en poner entre corchetes cada objeto que se mencione, esto se hace con el objetivo de no mencionar objetos que en realidad en el mundo simulado de Inform no existen. Lo que provoca encerrar entre corchetes es que Inform va a tratar de buscar objetos con ese nombre, si no lo encuentra la compilación dará error y mostrará una lista de los objetos que no fueren reconocidos. Luego podremos crearlos como scenery o backdrop o lo que sea.]

A female and closed door called a puerta metalica is north of habitacion and south of pasillo with printed name "puerta metálica" and initial appearance "Puedes ver [a puerta metalica] que separa tu [cuarto] del [pasillo-backdrop] amortiguando los continuos [ruidos] del ir y venir de [the gente]. [if puerta metalica is open][The gente] que pase por el pasillo podrá verte[else]Está cerrad[o puerta metalica] guardando la poca intimidad que tienes en [the estacion espacial][end if]."

Section - Pasillo

Pasillo is a room.

Autor:  Matias Biato [ 21 May 2011 13:33 ]
Asunto:  Re: Empezando con Infom

Otra forma alternativa para mencionar a la puerta sería:

Código:
A female and closed door called a puerta metalica is north of habitacion and south of pasillo with printed name "puerta metálica" and initial appearance "[descripcion de la puerta]."

To say descripcion de la puerta:
   say "Puedes ver [a puerta metalica] que separa tu [cuarto] del [pasillo-backdrop] amortiguando los continuos [ruidos] del ir y venir de [the gente].";
   if puerta metalica is open:
      say "[The gente] que pase por [the pasillo] podrá verte";
   else:
      say "Está cerrad[o puerta metalica] guardando la poca intimidad que tienes en [the estacion espacial]";


¿Molesta que ponga varias alternativas para hacer las mismas cosas?

Autor:  Fernando Gregoire [ 21 May 2011 20:16 ]
Asunto:  Re: Empezando con Infom

Lo que se comenta en este hilo me parece raro, ya que en Inform 6 con INFSP (sí, INFSP también existe para Inform 6) e InformATE cuando uno pone un objeto por defecto se menciona como "Puedes ver un nombredelobjeto" (una si tuviese el atributo femenino o female), y para que diga "Puedes ver a ..." como si fuera una persona hay que poner el atributo nombrepropio o propername.
¿Qué pasa que ésto parece tan problemático en Inform 7?

Autor:  Matias Biato [ 21 May 2011 23:11 ]
Asunto:  Re: Empezando con Infom

Fernando Gregoire escribió:
Lo que se comenta en este hilo me parece raro, ya que en Inform 6 con INFSP (sí, INFSP también existe para Inform 6) e InformATE cuando uno pone un objeto por defecto se menciona como "Puedes ver un nombredelobjeto" (una si tuviese el atributo femenino o female), y para que diga "Puedes ver a ..." como si fuera una persona hay que poner el atributo nombrepropio o propername.
¿Qué pasa que ésto parece tan problemático en Inform 7?


No es que sea problemático en Inform 7. La verdad es que lo que vos explicas es exactamente igual en Inform 7. Lo que pasa es que Notxor y yo recién empezamos con Inform 7. Yo complique las cosas innecesariamente porque si en Inform 7 escribes:

Código:
A botella is a female thing in Habitación.


Imprimirá:

Código:
Puedes ver una botella.


En cambio si escribes:

Código:
Juan is a man in habitación.


Imprimirá en este caso:

Código:
Puedes ver a Juan.


Lo que pasa es que entendí que Notxor quería más personalización, entender como se describen los objetos en la localidad, que reglas se aplicaban, etc. Para poder cambiar el comportamiento por defecto.
Fue mi culpa hacer tanto lío. Es que ya había explicado varias veces lo que puse arribe y Notxor seguía con problemas. No es que Inform 7 sea tan complicado, yo complique las cosas. Perdón.

Autor:  Fernando Gregoire [ 22 May 2011 00:27 ]
Asunto:  Re: Empezando con Infom

Matias Biato escribió:
Fernando Gregoire escribió:
Lo que se comenta en este hilo me parece raro, ya que en Inform 6 con INFSP (sí, INFSP también existe para Inform 6) e InformATE cuando uno pone un objeto por defecto se menciona como "Puedes ver un nombredelobjeto" (una si tuviese el atributo femenino o female), y para que diga "Puedes ver a ..." como si fuera una persona hay que poner el atributo nombrepropio o propername.
¿Qué pasa que ésto parece tan problemático en Inform 7?


No es que sea problemático en Inform 7. La verdad es que lo que vos explicas es exactamente igual en Inform 7. Lo que pasa es que Notxor y yo recién empezamos con Inform 7. Yo complique las cosas innecesariamente porque si en Inform 7 escribes:

Código:
A botella is a female thing in Habitación.


Imprimirá:

Código:
Puedes ver una botella.


En cambio si escribes:

Código:
Juan is a man in habitación.


Imprimirá en este caso:

Código:
Puedes ver a Juan.


Lo que pasa es que entendí que Notxor quería más personalización, entender como se describen los objetos en la localidad, que reglas se aplicaban, etc. Para poder cambiar el comportamiento por defecto.
Fue mi culpa hacer tanto lío. Es que ya había explicado varias veces lo que puse arribe y Notxor seguía con problemas. No es que Inform 7 sea tan complicado, yo complique las cosas. Perdón.


Ah está bien. Mi conocimiento de Inform es muy básico y me parecía raro porque Inform 6 lo había probado así como también InformATE y eso no pasaba.
Y no, tranquilo que planteando cosas no molestás, no te gastes en pedir perdón como si nos tuvieras las bolas llenas :)

Página 1 de 1 Todos los horarios son UTC + 1 hora
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/