CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 15 Oct 2019 12:38

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 3 mensajes ] 
Autor Mensaje
NotaPublicado: 08 Abr 2009 19:11 
Desconectado
Grafista
Grafista
Avatar de Usuario

Registrado: 04 Sep 2008 17:23
Mensajes: 735
Hola a todos de nuevo. Vuelvo a tener un problemilla con Inform/INFSP 6
y vuelvo a recurrir a vosotros para ver si me podéis echar una mano.

Tengo los siguientes objetos:

Código:
Object   compuerta_bodegas "puerta estanca"
 with   name 'puerta' 'compuerta' 'esclusa',
   adjectives 'estanca' 'gruesa' 'pesada',
   description [;
       print "Es una formidable compuerta de aspecto resistente. ";
       if (self has open) "En estos momentos está abierta.";
       "En estos momentos está cerrada.";
   ],
   found_in CompartimentoCarga Bodegas,
   before [; [...] ],
   door_dir [;
       if (location == CompartimentoCarga) return babor_to;
       return estribor_to;
   ],
   door_to [;
       if (location == CompartimentoCarga) return Bodegas;
       return CompartimentoCarga;
   ],
 has   female static concealed door openable locked;


Código:
Object   puertasEstancas "puertas estancas de los compartimentos de carga"
 with   found_in Bodegas,
   name 'puertas' 'compuertas' 'escotillas' 'esclusas',
   adjectives 'estancas' 'gruesas' 'cerradas' 'trancadas' 'atrancadas'
       'bloqueadas' 'compartimentos' 'carga',
   description
       "Un total de seis gruesas compuertas de acero [...]",
   before [;
       Close:
      "Ya están cerradas.";
       Open:
      "Las compuertas están bloqueadas con cadenas. Es imposible abrirlas.";
       Unlock:
      "Es inútil intentar forzar las compuertas con ", (the) second , ".";
   ],
 has   pluralname female static concealed;


El problema es el siguiente:
Cuando estoy en la localización Bodegas, si examino 'puerta' o 'esclusa' se
me devuelve la descripción de la puerta estanca; y si examino 'puertas', 'esclusas'
o 'compuertas' se me devuelve la descipción de las otras puertas estancas de los
compartimentos. Sin embargo, si intento examinar 'compuerta' me devuelve
igualmente la descripción de las puertas estancas. Y no entiendo por qué.

Si modifico los atributos de la puerta estanca, (pongo 'static' y 'concealed'
en lugar de 'scenery'), todo funciona igual, salvo que al tratar de examinar
'compuerta' o 'compuertas' se me imprime:
"¿Cuál concretamente, las puertas estancas de los compartimentos de carga o la puerta estanca?".

Es una tontería que no me molesta mucho, pero siento curiosidad por saber por qué
la reacción es diferente cuando uso puerta/puertas que cuando uso
compuerta/compuertas.

Espero no haberme explicado muy mal. Y muchas gracias anticipadas por
estar siempre ahí, dispuestos a echar un cable.

Un saludo!


Última edición por Makinaimo el 13 Abr 2009 17:15, editado 1 vez en total

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

Registrado: 24 Ago 2007 00:41
Mensajes: 2023
Ubicación: Chile
Tu problema tiene una explicación muy sencilla... No es ningún error de tu código ni del compilador Inform.

Resulta que las palabras de diccionario en Inform (es decir, las que colocas entre comillas simples), pueden tener hasta 9 caracteres como máximo.

Tu "compuerta_bodegas" tiene el nombre 'compuerta' con 9 caracteres... y luego tu "puertasEstancas" tiene el nombre 'compuertas' con 10 caracteres. Para Inform, ambos objetos tienen el mismo nombre 'compuerta', porque solo revisa los primera 9 caracteres. Y tomará el objeto que sea implementado el último, o algo así.

Intenta cambiar los nombres o, si compilas para Glulx, intenta aumentar el tamaño limite para las palabras de diccionario. Existe un parámetro para el compilador para conseguir eso, pero no lo recuerdo. Revisa la documentación en inglés del compilador Inform.

Saludos! :)

P.S: Existen un par de librerías que te permiten usar palabras como cadenas de texto en el nombre de un objeto, al estilo "compuertas" en vez de ponerlas en comillas simples. Son últiles, pero no creo que en este caso sea realmente necesario. Prueba ha aumentar el maximo de las del diccionario en Glulx.

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


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 09 Abr 2009 13:06 
Desconectado
Grafista
Grafista
Avatar de Usuario

Registrado: 04 Sep 2008 17:23
Mensajes: 735
¡Gracias :P !


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 3 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 5 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