NuenoB / OpenBlocks_UCHILE

Proyecto Ingenieria de Software
Other
0 stars 4 forks source link

Edificios de dos partes #33

Closed amermelao closed 10 years ago

amermelao commented 10 years ago

Se pretende generar edificios como puentes muralla u otros, que su largo no este definido y se pueda parametrizar por un inicio y un final.

En primera instancia se creara una edificación de muralla

amermelao commented 10 years ago

Se crea una estructura la cual crea una muralla entre dos torres. La estrategia de construcción se basa en fijar una de las torres y mover la otra. La muralla se construye entre las posiciones de las dos torres.

Como prefactoring, se crean las clases que generan al cubo que genera la forma, y la clase Building Shapes que es un enum con los edificios.

actualización: En esta fase se crean todas las clases que van a ser empleados por WallShapeGenerator para generar la muralla. Como la muralla no tiene un largo fijo, se emplea el patron composite, siendo WallShapeGenerator la clase que contiene otros objetos. WallShapeGenerator, la muralla y la torre implementan la interfase IShapeGenenratorMove. Para crear la muralla (como el mundo de minecraft es "pixelado") se utiliza un algoritmo de trazado de lineas para determinar en que partes va un pedazo de muralla. Los pedazos de muralla se general según el angulo que el vector de posición que las torres tienen, por ello se generan pedazos de muralla que tienen orientación Norte-Sur y Este-Oeste. Y se implementa el patrón factory para entregar los podases de marrulla, ya que requieren una nueva instancia en la pose donde se colocan.

pos-factoring: se crean clases abstractas para contener métodos que se repiten y definir retornos por defecto de ciertos metodos, por ejemplo:

AbstractSimpleWallGenerator AbstractShapeGeneratorMove

amermelao commented 10 years ago

Creación de la estructura puente

pre-factoring: Da clase WallShapeGenerator se extraen los métodos que general una estructura dinámica generando una clase abstracta: AbstractShape. En AbstractShape se dejen los elementos específicos para cada construcción como métodos abstractos o variables que hay que inicial izar en el método turents(). Se cambia el nombre a la fabrica de pedazos de muralla y a la interface de la cual implanten, ya que también generan partes del puente.

Actualización: se crea la clase BridgShapeGenerator, las componentes del puente y las torres de inicio e fin. Se crean las factory de las partes del puentes.

Post-Factoring: Nada en particular

Se implementa un sistema de calculo del coste en los edificios, el cual depende del largo que tengan.

prefactoring: nada

actualización: cambiar el metodo de calculo del coste en AbstactShape y en cada componente de las estructuras.

post-factoring: nada

amermelao commented 10 years ago

Creacion de tren subterraneo

se crea un estructura la cual genera un rieles, permitiendo que un jugador que valla en un corro sobre los rieles se mueva de un extremo al otro sin parar.