[Php-objetos] Tesis D&D
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mie Mar 4 01:51:51 ARST 2009
Hola Gerardo,
una duda que me asalta antes que todo: por qué corno elegís enviar esto
en un adjunto de MS Word que pesa 90K, cuando adentro hay 9K de texto
plano?!?!?!?
El mar, 03-03-2009 a las 18:47 -0300, Gerardo Valiani escribió:
> Leo, te mando unos requerimientos mejor armados. No esta terminado. Lo
> que pasa es que me encuentro con un problema. Hay tantas cosas que
> explicar que me voy a pasar el curso con los requerimientos.
Tal vez esto indique que el sistema que estás planteando es muy grande,
y no es viable hacerlo completo como tesis del curso. Si es el caso
podríamos buscar un subsistema.
> Estaba pensando que se podria establecer el libro del jugador de
> Calabozos y Dragones como un anexo a los requerimientos. Hay explica
> absolutamente todo. Asi me puedo poner a trabajar en el diseño.
Pero Gerardo! Un manual explica qué hace el usuario con el sistema, no
qué hace el sistema! Nunca vi que estas cosas coincidan...
> Que opinas?
Opino que corrés un riesgo enorme de no saber lo que tenés que diseñar
antes de empezar a diseñarlo...
Vamos a los requerimientos:
(mis comentarios empiezan con un * )
El sistema es un gestor de personajes de la saga Dungeons and Dragons
para facilitar al master dirigir la partida.
* pero es un sistema solo para facilitar dirigir la partida o para jugar
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 del personaje, de forma aleatoria o
ingresada por el usuario.
El sistema debe setear la clase del personaje, de forma aleatoria o
ingresada por el usuario.
El sistema debe setear el nivel del personaje, de forma aleatoria o
ingresado por el usuario.
El sistema debe setear las “características” del personaje. Las mismas
son ordenadas según el rango de prioridades de la clase del personaje.
El sistema debe determinar el bonificador de la característica según el
valor que éste posea.
* Por qué no juntar todo esto en un "el sistema debe crear personajes
que tienen las siguientes propiedades: raza, clase, nivel, bonificador
de la característica. Las propiedades pueden seleccionarse o
configurarse aleatoriamente".
El sistema debe determinar los rasgos raciales.
El sistema debe determinar los rasgos de clase.
El sistema debe determinar los rangos de habilidades claseas, de forma
aleatoria según la clase o ingresadas por el usuario.
El sistema debe determinar los rangos de habilidades trasclaseas
ingresadas por el usuario.
* Esto es redundante: lo decís más arriba al decir que lo seteas.
El sistema debe setear el nombre del personaje según sexo y raza, de
forma aleatoria de una lista preestablecida o ingresado por el usuario.
* Esto es un atributo más.
El sistema debe setear el alineamiento del personaje, de forma aleatoria
o ingresado por el usuario.
El sistema debe setear el tamaño del personaje como “mediano” o puede
ser ingresado por el usuario.
El sistema debe setear la edad del personaje de forma aleatoria o
ingresada por el usuario.
El sistema debe setear el peso y la altura de forma aleatoria o
ingresada por el usuario.
El sistema debe setear el sexo forma aleatoria o ingresada por el
usuario.
El sistema debe setear el dado de golpe según la clase del personaje.
El sistema debe setear los puntos de golpe de forma aleatoria o
ingresada por el usuario.
El sistema debe setear los puntos de iniciativa del personaje. El mismo
es el modificador de destreza mas bonificadores varios si existieran.
El sistema debe setear la CA del personaje.
El sistema debe setear el ataque de toque, que es igual a la CA menos
los bonificadores de armadura.
El sistema debe setear el ataque desprevenido, que es igual a la CA
menos el bonificador de destreza.
El sistema debe setear los tiros de salvacion de fortaleza determinados
por la clase del personaje. Al mismo se le debe sumar el modificador de
constitucion + modificador de magia + modificadores varios si los
hubiere + modificadores temporales si los hubiere.
El sistema debe setear los tiros de salvacion de reflejos determinados
por la clase del personaje. Al mismo se le debe sumar el modificador de
destreza + modificador de magia + modificadores varios si los hubiere +
modificadores temporales si los hubiere.
El sistema debe setear los tiros de salvacion de voluntad determinados
por la clase del personaje. Al mismo se le debe sumar el modificador de
sabiduria + modificador de magia + modificadores varios si los hubiere +
modificadores temporales si los hubiere.
El sistema debe setear el ataque base determinado según la clase del
personaje + el modificador de fuerza + el modificador de tamaño +
modificadores varios si los hubiere.
* Todo esto no son más atributos???
El sistema debe determinar la presa. Se calcula: ataque base +
modificador de fuerza + modificador de tamaño + modificadores varios.
* Incompleto: cómo se determina una presa? Es otro personaje?
"Modificadores varios" es ambiguo.
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.
* La armadura parece un atributo más...
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.
* El monstruo parece solo otro personaje.
El sistema debe poder calcular automáticamente la iniciativa de los
personajes y de los monstruos para determinar quien actúa primero.
* Si no decís como se hace el cálculo, no estás diciendo nada. Es como
que digas "el sistema debe realizar unas operaciones matemáticas para
obtener el resultado deseado".
El sistema debe poder calcular: el ataque de un personaje o monstruo, si
el ataque impactó, y si el impacto produjo daño.
* Y en qué consiste el cálculo?
El sistema debe poder calcular el resultado de utilizar una habilidad
contra una dificultad indicada por el usuario o por una preestablecida.
* Y en qué consiste el cálculo? Esto no sería "El sistema debe
determinar el resultado de el encuentro de dos personajes que se calcula
sumando las habilidades del atacante y restando las dificultades del
defensor". Bueno, capaz que no te referís a esto, pero la idea es la
forma de escribirlo.
El sistema debe poder calcular el resultado del lanzamiento de un
conjuro, si este hizo impacto, y si produjo daño.
* Y cómo se hace ese cálculo?
Diccionario:
* El diccionario está bueno porque estás enumerando los posibles
atributos que un personaje puede tener
Me parece que tenés que trabajar más sobre el cómo el sistema va a
determinar las cosas (resultado de encuentros, aumento de habilidades,
tiempo de vida, causa de muerte, etc). Se modela en base a
comportamiento, y si te limitás a enumerar atributos y no a describir
qué hacen los personajes, jamás vas a poder encontrar comportamiento que
modelar.
Seguimos!!!
--
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