[Php-objetos] No me sale
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Jue Mar 19 02:02:02 ART 2009
Hola Gerardo,
El mié, 18-03-2009 a las 21:47 -0300, Gerardo Valiani escribió:
> El mié, 18-03-2009 a las 20:15 -0300, Gerardo Valiani
> escribió:
> > Estoy tratando de hacer el diseño del sistema. Pero hay algo
> no lo
> > puedo sacar.
> >
> > Tengo por ejemplo los siguientes datos:
> > http://www.rincondeldm.com/index.php?title=B%C3%A1rbaro.
> > Como diseño el sistema para tener guardados los datos de la
> tabla
> > "Tabla de progreso: Barbaro".
>
>
> Si estás pensando en cómo diseñar al sistema para
> "tener guardado" algo, estamos fritos...
>
> Entiendo lo que me decis. No estoy avocando mis pensamientos al
> diseño. Pero cuando digo guardado no me refiero a la persistencia.
Da lo mismo: se diseña por comportamiento, no por atributo (persistente
o no)
> Supongamos que tengo una lista de paises.
Ok.
> La clasica combo de seleccion. Supongamos que tenemos los paises de
> sudamerica. Como diseño eso?
De ninguna manera: no hay diseño en una lista.
El diseño está en qué debe hacer el sistema al elegir un país de la
lista!!!
Si estás diseñando un sistema de CV on line, un dato del CV será la
nacionalidad. De acuerdo?
Si estás diseñando un sistema de reservas aéreas, un dato de la reserva
será el país de destino (y luego la ciudad, supongo). De acuerdo?
La lista en ninguno de los dos casos es nada. Cero. Kaput.
Lo importante es qué debe hacer el sistema dependiendo del país
seleccionado.
Si el sistema no hace nada con el país, pues entonces es un atributo
meramente informativo, y si no está el sistema muestra un dato menos
pero funciona igual.
Ahora si el sistema hace algo según el país elegido, entonces sí
tenemos comportamiento que modelar, y la cuestión se vuelve relevante y
necesita diseño.
La pregunta a hacerse es: qué debe hacer el sistema dependiendo de qué
fila de la Tabla de Progreso sea la que tenga el Bárbaro en ese momento?
> Pensando por arriba, digo una clase Paises que es una coleccion de
> objetos Pais. Pero este ultimo solo va a tener un atributo, el nombre
> del pais. Comportamiento? ninguno. Esta situacion (creo que analoga a
> la de mi sistema) me confunde.
No sé si es análoga... no conozco bien D&D y no aclarás que se hace al
elegir un país en tu situación hipotética.
Espero que con lo de arriba te pueda haber aclarado algo...
>
>
> Tenemos que hallar el comportamiento de la cosa que
> justifique su
> existencia, o rebajarla a un simple atributo.
>
>
> Para mi son un simple atributo, pero que cambia segun el nivel del
> personaje. Eso me confunde.
Y ese atributo, interviene en algún cálculo? o es como el nombre del
personaje, que independientemente de cual sea e; personaje se comporta
igual?
> Si lo pienso en estructurado me imagino un array donde la clave es el
> nivel y el valor en el dato del ataque base, salvacion, etc. Pero en
> objetos no me doy cuenta como.
Creo que no te das cuenta, porque están pensando en el "valor" de la
cosa, y no en para qué se usa.
Explicame para qué se usan los valores de esta tabla, a ver si con la
explicación, a vos se te aclara la cosa.
> Te mando unos requerimientos. Creo que estan un poco mejor.
> Creo tener el diseño encaminado. No terminado, pero si con una
> orientacion. Pero esta situacion me esta trabando. Y no se para donde
> salir corriendo.
Los copio acá para comentártelos.
En general, y como era de esperar por las dudas que te surgen, enumerás
los distintos elementos pero omitís toda forma de uso de esas cosas.
Marco con (*) mi intervención:
----------------------------------------------------
El sistema es un gestor de personajes de la saga Dungeons and Dragons
para facilitar al master dirigir la partida. Crea los personajes, los
cuales pueden ser seteados por un usuario en todas o en alguna de sus
propiedades siendo el resto creadas de forma aleatoria por el mismo
sistema.
Sobre los personajes:
El sistema debe setear la raza, clase, nivel del personaje,
características, bonificador de la característica, rasgos raciales,
rasgos de clase, velocidad, rangos de habilidades claseas y trasclaseas,
nombre, sexo, alineamiento, tamaño, edad, peso, altura, dado de golpe,
puntos de golpe, iniciativa, CA, ataque de toque, ataque desprevenido,
salvación de fortaleza, salvación de reflejos, salvación de voluntad,
ataque base, presa.
* Ok. Le pone valores. Algunos los elige el usuario, otros al azar entre
un rango que aclarás en el diccionario mayormente (me parece que no
están todos)
El sistema debe poder adicionar al personaje su armadura, armas y
equipo. Todos o algunos pueden ser seteados por el usuario siendo el
resto creados de forma aleatoria por el mismo sistema.
* Ok. Más cosas que le agrego al personaje.
El sistema debe poder crear monstruos nuevos. Estos pueden ser seteados
por un usuario en todas o en alguna de sus propiedades siendo el resto
creadas de forma aleatoria por el mismo sistema. (No terminado, tal vez
para hacer en otra ocasion)
* No le veo diferencia al primero. El monstruo no es otro personaje?
El sistema debe poder calcular automáticamente la iniciativa de los
personajes y de los monstruos para determinar quien actúa primero. (No
terminado, tal vez para hacer en otra ocasion)
* Si lo postergás no importa, pero si no, tenés que poner cuál es el
cálculo (esto sería comportamiento!).
El sistema debe poder calcular: el ataque de un personaje o monstruo, si
el ataque impactó, y si el impacto produjo daño.
* Y cómo se calcula? Tenés que poner el cálculo cómo se hace con lujo de
detalles, para poder implementarlo! En el diccionario veo el CA, que si
no entiendo mal es la "defensa", pero nada del cálculo del ataque.
El sistema debe poder calcular el resultado de utilizar una habilidad
contra una dificultad indicada por el usuario o por una preestablecida.
* Más de lo mismo: cómo se hace ese cálculo?
El sistema debe poder calcular el resultado del lanzamiento de un
conjuro, si este hizo impacto, y si produjo daño.
* Idem.
----------------------------------------------------
También está bueno que numeres los requerimientos para poder
referenciarlos mejor, y que uses los términos del diccionario tal cual
para poder encontrarlos de una volada.
Bonus! Ordenar el diccionario alfabéticamente ;-)
> PD: Hoy fui a buscar la laptop a Fravega. Por supuesto, no estaba (Ley
> de Murphy). Llega mañana. No se si voy a poder soportar la ansiedad.
> Ya se me cayeron las uñas de los pies.
Obvio! Y acordate de que Murphy era un optimista!
> Saludos!
=mente!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-objetos