Class: cObjetoVolador
cObjeto ----+
|
cObjetoPersistente ----+
|
cObjetoVolador
Description:
Clase abstracta, implementa todas las funcionalidades básicas de los objetos voladores.
De esta van a derivar la mayor parte del resto de las clases.
Unit:
ObjetoVolador
(ObjetoVolador.pas)
Constructors:
-
constructor create( pos: cVector = nil; vel: cVector = nil; dim: tLongitud = 5; pot: tEnergia = 1; ene: tEnergia = 100 ); overload;
-
Constructor
-
constructor create( ov: cObjetoVolador ); overload;
-
Constructor que copia los atributos de un Objeto volador existente
Methods:
-
destructor destroy; override;
-
Destructor
-
function mColisiono( ov: cObjetoVolador ): boolean;
-
Devuelve true si colisionaron los objetos voladores
-
procedure mDesSerializar( str: string ); override;
-
Recrea el objeto a partir de una cadena de texto con el objeto
serializado.
-
function mDibujar: tObjetosVoladores; virtual; abstract;
-
Método abstracto, se sobreescribira en las subclases porque van a ser
dibujadas de forma diferente
-
function mGetCoordenadas: cCoordenadas;
-
Obtiene el sistema de coordenadas de la nave
-
function mGetDebugInfo( debugLevel: tDebugInfo = DI_MINI ): string; override;
-
Método heredado que devuelve un string con el estado del Objeto. Se utiliza para depurar
y la información entregada depende del parámetro tDebugInfo.
-
function mGetDimension: tLongitud;
-
Obtiene la Dimension del objeto volador
-
function mGetDistancia( ov: cObjetoVolador ): tLongitud;
-
Calcula la distancia a otro objeto volador
-
function mGetEnergia: tEnergia;
-
Obtiene la Energia del objeto volador
-
function mGetI: cVector;
-
Obtiene el versor i del sistema de coordenadas de la nave
-
function mGetJ: cVector;
-
Obtiene el versor j del sistema de coordenadas de la nave
-
function mGetK: cVector;
-
Obtiene el versor k del sistema de coordenadas de la nave
-
function mGetPosicion: cVector;
-
Obtiene la Posicion del objeto volador
-
function mGetPotencia: tEnergia;
-
Obtiene la Potencia del objeto volador
-
function mGetVelModulo: tLongitud;
-
Obtiene el modulo de la velocidad del objeto volador
-
function mGetVelocidad: cVector;
-
Obtiene la velocidad del objeto volador
-
procedure mMover( dT: tTiempo ); virtual;
-
Mueve el objeto volador basandose en su posicion, su velocidad y un intervalo de tiempo
-
function mRestarEnergia( ene: tEnergia ): cObjetoVolador;
-
Resta energia al objeto volador
-
function mRotarEnI( dAngulo: tAngulo ): cObjetoVolador;
-
Rota el objeto volador sobre el eje i
(el sentido positivo es de j a k)
-
function mRotarEnJ( dAngulo: tAngulo ): cObjetoVolador;
-
Rota el objeto volador sobre el eje j
(el sentido positivo es de i a k)
-
function mRotarEnK( dAngulo: tAngulo ): cObjetoVolador;
-
Rota el objeto volador sobre el eje k
(el sentido positivo es de i a j)
-
function mSerializar: string; override;
-
Devuelve una cadena de texto con el objeto serializado.
-
function mSetEnergia( ene: tEnergia ): cObjetoVolador;
-
Método para establecer la energía
-
function mSetPosicion( posicion: cVector ): cObjetoVolador;
-
Método para establecer la posición
-
function mSetVelDir( velocidad: cVector ): cObjetoVolador;
-
Método para establecer la direccion de la velocidad
-
function mSetVelModulo( velocidad: tLongitud ): cObjetoVolador; virtual;
-
Método para establecer el modulo de la velocidad
-
function mSetVelocidad( velocidad: cVector ): cObjetoVolador; virtual;
-
Método para establecer la velocidad
constructor create( pos: cVector = nil; vel: cVector = nil; dim: tLongitud = 5; pot: tEnergia = 1; ene: tEnergia = 100 ); overload;
- Constructor
- Parameters
-
pos
: Posicion inicial -
vel
: Velocidad inicial -
dim
: Dimensión del objeto volador (radio, en metros) -
pot
: Potencia del objeto volador (cantidad de daño que hace por intervalode tiempo) -
ene
: Energía del objeto volador(cantidad de daño que soporta antes de ser destruido)
constructor create( ov: cObjetoVolador ); overload;
- Constructor que copia los atributos de un Objeto volador existente
destructor destroy; override;
- Destructor
function mColisiono( ov: cObjetoVolador ): boolean;
- Devuelve true si colisionaron los objetos voladores
@return true si colisionaron, false si no lo hicieron
- Parameters
-
ov
: Objeto volador con el que se evalua si colisiono
procedure mDesSerializar( str: string ); override;
- Recrea el objeto a partir de una cadena de texto con el objeto
serializado.
- Parameters
-
str
: Cadena de texto con el objeto serializado.
function mDibujar: tObjetosVoladores; virtual; abstract;
- Método abstracto, se sobreescribira en las subclases porque van a ser
dibujadas de forma diferente
function mGetCoordenadas: cCoordenadas;
- Returns
- Sistema de coordenadas de la nave
function mGetDebugInfo( debugLevel: tDebugInfo = DI_MINI ): string; override;
- Devuelve el estado del objeto basandose en la cantidad de datos requeridos.
@return Cadena de texto con el estado del Objeto.
- Parameters
-
debugLevel
: Cantidad de información requerida
function mGetDimension: tLongitud;
- Returns
- Dimensión (radio, en metros)
function mGetDistancia( ov: cObjetoVolador ): tLongitud;
- Calcula la distancia a otro objeto volador
@return Distancia al otro objeto volador
- Parameters
-
ov
: Objeto volador al que se calcula la distancia
function mGetEnergia: tEnergia;
- Returns
- Energía (cantidad de daño que soporta antes de ser destruido)
function mGetI: cVector;
- Returns
- Versor i, que representa la direccion en la que viaja el objeto
function mGetJ: cVector;
- Returns
- Versor j, que representa la direccion en la que está la izquierda del objeto
function mGetK: cVector;
- Returns
- Versor k, que representa la direccion en la que está el "techo" del objeto
function mGetPosicion: cVector;
- Returns
- Vector posición
function mGetPotencia: tEnergia;
- Returns
- Potencia (cantidad de daño que realiza por intervalo de tiempo)
function mGetVelModulo: tLongitud;
- Returns
- Módulo de la velocidad
function mGetVelocidad: cVector;
- Returns
- Vector velocidad
procedure mMover( dT: tTiempo ); virtual;
- Mueve el objeto volador basandose en su posicion, su velocidad y un intervalo de tiempo
- Parameters
-
dT
: Intervalo de tiempo
function mRestarEnergia( ene: tEnergia ): cObjetoVolador;
- Resta energía al objeto volador
- Parameters
-
ene
: Energía a restar
function mRotarEnI( dAngulo: tAngulo ): cObjetoVolador;
- Rota el objeto volador sobre el eje i
(el sentido positivo es de j a k)
function mRotarEnJ( dAngulo: tAngulo ): cObjetoVolador;
- Rota el objeto volador sobre el eje j
(el sentido positivo es de i a k)
function mRotarEnK( dAngulo: tAngulo ): cObjetoVolador;
- Rota el objeto volador sobre el eje k
(el sentido positivo es de i a j)
function mSerializar: string; override;
- Returns
- Cadena de texto con el objeto serializado.
function mSetEnergia( ene: tEnergia ): cObjetoVolador;
- Setea la energía del objeto volador a un valor arbitrario
- Parameters
-
ene
: Nueva energía
function mSetPosicion( posicion: cVector ): cObjetoVolador;
- Método para establecer la posición
- Parameters
-
velocidad
: Nuevo vector posición
function mSetVelDir( velocidad: cVector ): cObjetoVolador;
- Método para establecer la direccion de la velocidad
- Parameters
-
velocidad
: Nueva dirección de la velocidad
function mSetVelModulo( velocidad: tLongitud ): cObjetoVolador; virtual;
- Método para establecer el modulo de la velocidad
- Parameters
-
velocidad
: Nuevo módulo de la velocidad
function mSetVelocidad( velocidad: cVector ): cObjetoVolador; virtual;
- Establece la velocidad del objeto volador
- Parameters
-
velocidad
: Nuevo vector velocidad