Mostrando entradas con la etiqueta diagrama. Mostrar todas las entradas
Mostrando entradas con la etiqueta diagrama. Mostrar todas las entradas

sábado, 22 de diciembre de 2007

Diseño de clases : Edificios

En esta entrada voy ha hablaros de la solución que hemos implementado para definir la lógica de los edificios en C#.

En cuanto a su estructura, hemos creado una clase llamada “Edificio” y hemos decidido que cada uno de ellos será una clase heredada de "Edificio". Por ello, todos nuestros edificios tendrán unas semejanzas y unas peculiaridades. Abajo os adjunto una captura del editor UML que hacemos servir para definir las clases.



Los edificios están identificados en el árbol de construcción de la anterior entrada con tema “Propuesta de edificios”. Ahora, podemos añadir que todos nuestros edificios funcionarán de una forma similar, todos recibirán algo (mantenimiento) para ofrecernos alguna otra cosa (posibilidades, producción, etc.), podemos ver un diagrama que ilustra esto abajo. Esto se definirá con métodos propios de cada edificio y será gestionado por la aldea.



El problema más grande que nos hemos encontrado a la hora de definir esta parte ha sido el almacén de los datos de cada edificio. Cada uno tiene muchísima información referente a cada uno de los niveles que se puede encontrar (20 generalmente).

Al principio, para que el sistema fuera más flexible, decidimos
que cada objeto tuviera su información, pero la naturaleza de nuestra aplicación (tendencia a hacer muchas aldeas) hacia que tuviéramos muchísima información redundante. Por ello, creamos una clase pública y estática que contendrá toda esta información, y cada edificio podrá consultarla cuando lo necesite. Con esto centralizamos la información en una especie de base de datos pública y evitamos repetir información.



En esta ilustración podemos ver claramente como en el primer modelo (ilustrado en la izquierda), los objetos eran pesados y se repetía la información. Mientras que en el dibujo de la izquierda vemos objetitos consultando la clase que contiene los datos.

Saludos

martes, 11 de diciembre de 2007

Propuesta de edificios

Hola !

El diagrama de edificios propuesto es el siguiente:




Básicamente las funciones de cada edificio son las siguientes:

- Edificio principal : para construir más deprisa.

- Plaza reuniones : para mover las tropas.

- Granero : marca el limite de cereal que podemos almacenar.

- Almacen : marca el limite de materiales (excepto cereal) que podemos almacenar.

- Muralla : Da una bonificación a la defensa.

- Escondite : Marca un número de recursos que nuestra aldea podrá ocultar al ser atacada.

- Taberna Heroes : Sirve para crear heroes.

- Cuartel : Sirve para crear soldados de infantería.

- Academia : Sirve para investigar nuevas unidades.

- Herreria : Sirve para mejorar la defensa de las unidades (soldados).

- Armeria : Sirve para mejorar el ataque de las unidades (soldados).

- Establo: Sirve para generar soldados de caballería.

- Residencia : Sirve para generar colonos, que permitirán fundar nuevas aldeas.

¿ Qué os parece la idea ?

sábado, 1 de diciembre de 2007

Propuesta Diagrama de Clases

En esta propuesta, sólo se contempla una "civilización", con un tipo de soldados y un tipo de recurso. Con ella intento modelar la estructura de clases adecuada que debemos usar para no tener problemas a la hora de acceder a todos los datos que guardamos.


¿ Os parece bien la estructura ? ¿ Dudas ? ¿ Algo más a tener en cuenta ? Saludos !