[Top][All Lists]
[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Ambar-dev] los objetos en Minë,
Andres Moya <=