El listado de objetos y el inventario
El listado de objetos
Las localidades listan todos los objetos de manera automática al entrar o mirar dentro de ellas. Este listado es simplemente una enumeración del nombre de cada objeto separados por comas. Con los métodos alListar y alListarEspecial es posible modificar el comportamiento de este listado.
Los métodos alListar y alListarEspecial son incompatibles entre sí. Si se indican las dos, tiene preferencia alListarEspecial sobre alListar.
Modificando el nombre de un objeto al listar
El método alListar permite definir un nuevo nombre al objeto que solo será mostrado en los listados de objetos. En el ejemplo anterior, el boli aparecería listado junto con los demás objetos, así:
Puedes ver un mechero, un boli y una cama.
Pero si modificamos el objeto boli, añadiendo el método alListar :
object Boli dentro:Habitacion
...
def alListar: "tu boli preferido"
endobject
Al mirar la localidad, el listado de objetos ahora será así:
Puedes ver un mechero, tu boli preferido y una cama.
Descripciones especiales al listar
Imagina que quieres hacer una mención especial al boli y no deseas que sea listado con el resto de objetos como si fuera un objeto más, sino que quieres que tenga su propia descripción aparte que el jugador podrá leer cuando se encuentre este objeto por ahí. Podemos definir el método alListarEspecial con este texto especial, el cual será mostrado de manera independiente del resto de objetos listados.
En el ejemplo anterior, el mechero aparecería listado junto con los demás objetos, así:
Puedes ver un mechero, un boli y una cama.
Pero si modificamos el objeto mechero, añadiendo el método alListarEspecial :
object Mechero dentro:Habitacion
...
def alListarEspecial: "Tu mechero preferido está aquí, ¡qué suerte!"
endobject
Al mirar la localidad, el listado de objetos ahora será así:
Tu boli preferido está aquí, ¡qué suerte! Puedes ver un boli y una cama.
Inventario
El inventario es un listado con todos los objetos que posee el jugador que aparece como resultado de la orden inventario o i (acción Inventario). Este listado es simplemente una enumeración del nombre de cada objeto poseído separados por comas o por líneas, dependiendo de si es inventario ancho o estrecho. Con los métodos alListarInventario y alListarInventarioEspecial es posible modificar el comportamiento de este listado.
Los métodos alListarInventario y alListarInventarioEspecial son incompatibles entre sí. Si se indican las dos, tiene preferencia alListarInventarioEspecial sobre alListarInventario
Formatos de inventario
inventario estrecho o i estrecho lista los objetos separados en distintas líneas.
>> i estrecho
Llevas:
un mechero
una pelota
un boli
inventario ancho o i ancho lista los objetos en una única línea todos seguidos.
>> i ancho Llevas un mechero, una pelota y un boli.
Inicialmente se utiliza el inventario estrecho. Si se cambia de un formato a otro, el sistema recuerda cual es, por lo que las siguientes veces lo mostrará de la última manera elegida.
Modificando el nombre en el inventario
Cuando hemos cogido un objeto, este aparecerá en el inventario junto con el resto de objetos. Si añadimos el método alListarInventario podemos cambiar este nombre.
Siguiendo con el ejemplo del capítulo anterior, supongamos que hemos cogido el mechero y el boli. Si hacemos inventario con i, obtendremos un listado como sigue
>> i
Llevas:
un mechero
un boli
Pero si modificamos el objeto boli, añadiendo el método alListarInventario :
object Boli dentro:Habitacion
...
def alListarInventario: "tu boli preferido"
endobject
El inventario aparecerá ahora así:
>> i
Llevas:
un mechero
tu boli preferido
Descripciones especiales en el inventario
Si no deseas que un objeto sea listado con el resto del inventario, sino que quieres que tenga su propia descripción aparte, podemos usar el método alListarInventarioEspecial. Esta método funciona de manera análoga a alListarEspecial, pero durante el inventario.
Siguiendo con el ejemplo del capítulo anterior, supongamos que hemos cogido el mechero y el boli. Si hacemos inventario con i, obtendremos un listado como sigue
>> i
Llevas:
un mechero
un boli
Pero si modificamos el objeto boli, añadiendo el método alListarInventarioEspecial :
object Boli dentro:Habitacion
...
def alListarInventarioEspecial: "Tienes tu boli preferido bien guardado."
endobject
El inventario aparecerá ahora así:
>> i
Tienes tu boli preferido bien guardado.
Además llevas:
un mechero
Ejemplo completo
En esto ejemplo, tenemos cuatro objetos en una habitación.
- El boli tiene una descripción en
alListarEspecialyalListarInventarioEspecialpor lo que tiene su propia descripción, al margen del resto, cuando se lista con los objetos de la localidad y cuando aparece en el inventario. - La pelota tiene la misma descripción en
alListaryalListarInventariopor lo que tiene un nombre distinto en el listado y en el inventario, pero sigue apareciendo junto con el resto de objetos.
include system/default
object Main:MainBase
def start
Estado.jugador = McAventura
#jugador.accion(Mirar)
end
endobject
/**
* El objeto jugador
*/
object McAventura:Personaje dentro:Habitacion
nombre MS:Mc Aventura
def alMirar: "Eres Mc Aventura, el protagonista de esta historia."
endobject
/**
* Localidades
*/
object Habitacion:Localidad
nombre MS:Habitación
def alMirar: "Estás en tu habitación, cálida y soleada, de donde parten tus primeros recuerdos."
endobject
/**
* Objetos por el suelo
*/
object Mechero dentro:Habitacion
nombre MS:mechero
def alMirar: "Es un mechero de color rojo."
endobject
object Vaso dentro:Habitacion
nombre MS:vaso
def alMirar: "Es un vaso de cristal."
endobject
object Pelota dentro:Habitacion
nombre FS:pelota
def alMirar: "Es una pelota azul."
def alListar, alListarInventario: "una maldita pelota azul"
endobject
object Boli dentro:Habitacion
nombre MS:boli
def alMirar: "Es un boli de plástico, un poco gastado y mordisqueado."
def alListarEspecial: "Tu boli de la suerte está aquí, ¡qué suerte!"
def alListarInventarioEspecial: "Tienes tu boli preferido bien guardado."
endobject
Una salida al coger los objetos y listarlos por el inventario:
Habitación Estás en tu habitación, cálida y soleada, de donde parten tus primeros recuerdos. Salidas posibles: ninguna. Tu boli de la suerte está aquí, ¡qué suerte! Puedes ver un mechero, un vaso y una maldita pelota azul. >> coger todo Coges el mechero, el vaso, la pelota y el boli. >> i Tienes tu boli preferido bien guardado. Además llevas: un mechero un vaso una maldita pelota azul >> i ancho Tienes tu boli preferido bien guardado. Además llevas un mechero, un vaso y una maldita pelota azul. >> dejar todo Dejas el mechero, el vaso, la pelota y el boli.
Fíjate como la pelota muestra su nombre nuevo "una maldita pelota azul" al listar el inventario y en la localidad al mirar. Y el boli aparece apartado del resto cuando es listado, con su descripción completa aparte. Sin embargo, los dos conservan su nombre original, como el resto de objetos, cuando se muestra su nombre como resultado de una acción (por ejemplo, al coger y al dejar).
Resumen
Hemos visto que el sistema lista automáticamente los objetos que hay en el suelo al entrar o mirar en una localidad.
El conjunto de objetos que tenemos en nuestra posesión se llama inventario y tiene dos formatos que se pueden ver con i, i estrecho o i ancho.
Sabemos que es posible modificar el listado de objetos y del inventario con los métodos alListar, alListarEspecial, alListarInventario y alListarInventarioEspecial
| x | Modifica solo el nombre | Inserta una sección propia |
|---|---|---|
| Listado automático de objetos de una localidad | alListar | alListarEspecial |
| Al hacer inventario | alListarInventario | alListarInventarioEspecial |
| Anterior Objetos por el suelo y decorado | Siguiente Nombres, sinonimos, genero y numero de los objetos |