fdns / Terasology

Terasology is an open source project started by Benjamin "begla" Glatzel to research procedural terrain generation and efficient rendering techniques in Java using the LWJGL. The engine uses a block-based voxel-like approach as seen in Minecraft. After proving itself as a solid tech demo begla was joined at first by Anton "small-jeeper" Kireev and Rasmus "Cervator" Praestholm and a full-fledged game concept was born. Our goal is a game that pays ample tribute to Minecraft in initial look and origin, but stakes out its own niche by adopting the NPC-helper and caretaker feel from such games as Dwarf Fortress and Dungeon Keeper, while striving for added depth and sophistication in the foundation systems akin to DF.
http://terasology.org/
Apache License 2.0
0 stars 4 forks source link

Refactorización debido a code smells #104

Closed criparra closed 9 years ago

criparra commented 9 years ago

La actual clase que comanda el modo fly, está en categoría de "God class". Es necesaria una refactorización.

En particular, se aplicará el strategy pattern para el cálculo de velocidades, ya que actualmente existen dos formas de obtenerla. (Se pueden agregar después nuevos algoritmos para calcular la distancia, y así hacerlo más extensible). Esto significará una interfaz para la velocidad, e implementar nuevos algoritmos y referenciar la interfaz desde la clase de modo fly.

criparra commented 9 years ago

Se han creado dos paquetes que encapsulan cosas que antes hacía la clase FlyMode. En un paquete se ha colocado el algoritmo que sigue cada cálculo de velocidades, de acuerdo al mapa, y en el otro, las fórmulas que se usan para dicho cálculo.