ambar-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ambar-dev] los objetos en Min�


From: Andres Moya
Subject: Re: [Ambar-dev] los objetos en Minë
Date: Fri, 15 Mar 2002 00:39:04 -0500

El Martes 12 Marzo 2002 18:46, escribiste:

> A ver, estoy reescribiendo la parte de los objetos con ayuda de papel
> y lápiz para un buen diseño.  Prometo hacerlo bien ya de una vez. He
> ingeniado un sistema para matar varios pájaros de un tiro.

Muy bien, tengo alguna sugerencia yo también (espero no haberme
retrasado demasiado).

- El resumen de objetos creo que debería hacerse directamente en la
propia sala, y no recounstruirlo dinámicamente cada vez. Es decir, si la
descripción de sala menciona un objeto con cantidad 3, se crea un único
elemento de la lista de objetos, que contiene una lista de instancias.
Si luego alguien viene y suelta otro objeto con el mismo id y
probabilidad, simplemente se añade otra instancia a la lista.

- Al recoger objetos, se extrae una instancia de la lista. Si se queda
vacía, lo que ocurra depende de la probabilidad: si es 0, entonces el
elemento de la lista se borra porque ya no va a volver a reaparecer más
el objeto. Si es mayor que 0, se deja.

- Al dejar un objeto, si no existía antes ningún elemento de lista, se
crea uno con probabilidad y máximo igual a 0, y la descripción se toma
la de la instancia de objeto.



Para que el diseño esté bien hecho, conviene hacerlo y revisarlo antes
de hacer el código. Te propongo una cosa, por lo menos al principio:
podrías escribir primero la documentación de los atributos que vas a
tocar en las clases y los algoritmos en seudocódigo, y me los envías
para que les eche un vistazo. Cuando estemos de acuerdo, entonces ya los
pásas a código de verdad. Te pongo un ejemplo: de lo que podría ir en la
clase Sala

clase Sala:

Atributos:
 - objetos ({String:any}[]): lista de objetos de la sala, siendo cada
                             objeto un diccionario:
    - "id" (string): el id del objeto
    - "probabilidad" (int): probabilidad de que reaparezca cada vez que
                            alguien entra en la sala (0-100)
    - "maximo" (int): maximos objetos que pueden aparecer (si es 0, no
                      hay máximo)
    - "dificultad" (int): dificultad para percibirlo (0-100)
    - "descripcion" (string): que aspecto tiene el objeto
    - "instancias" (Objeto[]): lista con una o más instancias del objeto
                               real (puede estar vacía si probabilidad
                               > 0, porque es posible que reaparezcan
                               objetos más tarde)

Métodos:
  coger_objeto(id):
     Buscar el id en la lista de objetos y extraer una instancia.
     Si la lista de instancias está vacía y probabilidad == 0,
     eliminar el elemento de la lista

  dejar_objeto(objeto):
     Si existe el objeto en la lista, añadir la instancia. Si no, crear
     un elemento nuevo.

    

> Otra cosa, me encantaría que escribiéramos un documento juntos
> explicando qué es Minë, parecido al pdf de la web pero mejor y con tu
ayuda
> e ideas. Una especie de presentación oficial del proyecto.

Bueno, aunque a mí el de la web me parece bastante bien. ¿Qué idea
tienes al respecto? Pásame la estructura que tengas pensada y ya iré yo
rellenando cosas.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]