CAAD
http://foro.caad.es/

Inventarios
http://foro.caad.es/viewtopic.php?f=31&t=5684
Página 1 de 1

Autor:  victorcastanedose [ 18 Sep 2014 13:43 ]
Asunto:  Inventarios

Hola a todos, soy nuevo en esto de programar con AGE y en este foro.

Estoy mirando la doc de AGE y estoy trasteando pero como nuevo en esto me surgen dudas.

¿Como hago para que si mi "jugador" desee "mirar inventario de personaje" pueda recibir una lista con el inventario de dicho personaje, sea cual sea el personaje del mundo?¿Podéis ponerme un ejemplo?

La lógica me lleva a pensar que debe escribirse el código en el "mundo" pero no llego a entender como tratar a "inventario". Ej: el personaje sé que es una entidad ,en este caso Mobile, pero ¿el inventario?

P.D: Espero que la pregunta no os parezca muy absurda. Seguramente haré más preguntas en un futuro, espero no molestar, mi finalidad sería poder llegar a hacer una aventura conversacional digna ya que soy un aficionado a jugarlas :)

Muchas gracias a todos de antemano.

Autor:  dddddd [ 18 Sep 2014 16:37 ]
Asunto:  Re: Inventarios

¡Bienvenido!
victorcastanedose escribió:
el personaje sé que es una entidad ,en este caso Mobile, pero ¿el inventario?
El inventario es una lista que forma parte de varios tipos de entidades (criaturas, habitaciones y contenedores). Mientras te contesta alguien con más detalles concretos sobre tu duda de capturar la acción inventario sobre diferentes personajes... la documentación más relevante sobre inventarios que recuerdo es Manejo de arrays y listas / Listas (Inventario, lista de creaturas, lista genérica).

Autor:  edlobez [ 18 Sep 2014 16:55 ]
Asunto:  Re: Inventarios

¡Hola victor!

Creo que lo que quieres es ver el inventarío de otro personaje distinto al propio jugador. En el enlace de la documentación que ha puesto dddddd hay algún ejemplo para manejar inventario.

El inventario del personaje lo podrías ver al examinar a dicho personaje. Supongamos que si en una misma estancia está el "jugador" y otro personaje "herrero" :

Código:
Estas en una habitación triste.
Aquí está Juan el herrero.

>> examinar herrero
Un tipo alto y con metro y medio de espalda. Está trabajando, reparando una de las campanas de la iglesia.
El herrero lleva:
 -un hacha
 -una campana
 -una espada


En este caso el código para mostrar el inventarío estaría en el personaje "herrero". Yo lo he probado hace un momento en el parsecommand del personaje "herrero" y más o menos sería así:

Código:
/*Método de análisis sintáctico de la entrada referida a una cosa*/
void parseCommand( Mobile aCreature , String verb , String args )
{
     Inventory inv = self.getInventory();
    // Al examinar al personaje
    if ( equals ( verb, "mirar" ) ) {
        // Mostramos la descripción normal del personaje.
        aCreature.write( self.getDescription ( aCreature ) + "\n");
        // Si el jugador tiene algo en el inventario.
        if (inv.size() != 0 ) {
            aCreature.write ("El herrero lleva:\n");
            for ( int i=0; i<inv.size(); i++ ) {
                       Item cosa = inv.get(i);
                       aCreature.write (" -" +cosa.getOutputNameA() + "\n");
            }
        }
        else {
            aCreature.write ("El herrero no lleva nada encima.\n");
        }
        end();
    }



A tener en cuenta que no mira si el personaje lleva una prenda puesta o blande algún arma.
No sé si esto más o menos te resuelve la duda.

Autor:  victorcastanedose [ 18 Sep 2014 21:19 ]
Asunto:  Re: Inventarios

Gracias por las respuestas.

La verdad es que las dos me han sido de ayuda sobre todo para comprender...que es una cosa difícil para los que como yo, estamos iniciándonos en AGE y poder programar con él (cosa que veo que me llevará tiempo, dado que no tengo conocimientos en programación). Espero que con la constancia y vuestra ayuda aprenda todos los entresijos.


Un saludo y gracias de nuevo!

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