Class: cNavePropia
cObjeto ----+
|
cObjetoPersistente ----+
|
cObjetoVolador ----+
|
cNave ----+
|
cNavePropia
Description:
Es la nave que será controlada por el jugador.
Características:
Dimensión: 15 metros
Potencia: 5 Cantidad de daño que hace por intervalo de tiempo
Energía: 100 Cantidad de daño que soporta antes de ser destruída
Velocidad máxima: 0,17 metros/milisegundos (612 km/h)
Misiles: 10
Misiles Dirigidos: 5
Unit:
NavePropia
(NavePropia.pas)
Constructors:
-
constructor create( pos: cVector = nil; vel: cVector = nil ); overload;
-
Crea una nave controlada por un jugador
Methods:
-
procedure mAcelerar( modulo: tLongitud );
-
Aumenta el modulo de la velocidad (sin cambiar su dirección ni
sentido y sin sobrepasar la velocidad maxima)
-
procedure mCambiarLockeado( lEnemigos: TList );
-
Cambia el objetivo lockeado
-
procedure mDesacelerar( modulo: tLongitud );
-
Disminuye el modulo de la velocidad (sin cambiar su dirección ni sentido)
-
procedure mDesSerializar( str: string ); override;
-
Recrea el objeto a partir de una cadena de texto con el objeto
serializado.
-
function mDibujar: tObjetosVoladores; override;
-
Método heredado, se sobreescribe porque se dibuja de forma distinta
-
function mDisparar( dT: tTiempo; ov : cObjetoVolador = nil ): cArma; override;
-
Hace que se dispare un arma (todavía no está implementado)
-
function mGetArmaSelec: tArma;
-
Obtiene el arma seleccionada actualmente
-
function mGetLockeado: cObjetoVolador;
-
Obtiene el objetivo lockeado
-
function mGetUltimoArmaDisparado: cArma;
-
Obtiene un puntero a la último arma disparada
-
procedure mGirarAbajo( angulo: tAngulo );
-
Permite a la nave girar hacia abajo (sobre su eje Y)
-
procedure mGirarArriba( angulo: tAngulo );
-
Permite a la nave girar hacia arriba (sobre su eje Y)
-
procedure mGirarDerecha( angulo: tAngulo );
-
Permite a la nave girar hacia la derecha (sobre su eje Z)
-
procedure mGirarIzquierda( angulo: tAngulo );
-
Permite a la nave girar hacia la izquierda (sobre su eje Z)
-
function mIntentarDisparo: cArma;
-
Intenta disparar. Si las condiciones son las correctas, el proximo turno
saldrá el disparo, si no, no hace nada
-
procedure mRotarDerecha( angulo: tAngulo );
-
Permite a la nave rotar a la derecha sobre su eje X
-
procedure mRotarIzquierda( angulo: tAngulo );
-
Permite a la nave rotar a la izquierda sobre su eje X
-
procedure mSeleccionarArma( a: tArma );
-
Selecciona un arma determinada. Si tiene municiones, la selecciona, si no,
no hace nada.
-
procedure mSeleccionarArmaSig;
-
Selecciona el proximo arma con municiones
-
function mSerializar: string; override;
-
Devuelve una cadena de texto con el objeto serializado.
-
procedure mSetLockeado( ov: cObjetoVolador );
-
Setea el objetivo lockeado
constructor create( pos: cVector = nil; vel: cVector = nil ); overload;
- Parameters
-
pos
: Posición Inicial -
vel
: Velocidad Inicial
procedure mAcelerar( modulo: tLongitud );
- Hace que aumente el modulo de la velocidad
- Parameters
-
modulo
: Modulo de la velocidad a sumar
procedure mCambiarLockeado( lEnemigos: TList );
- Cambia el objetivo lockeado
procedure mDesacelerar( modulo: tLongitud );
- Hace que disminuya el modulo de la velocidad
- Parameters
-
modulo
: Modulo de la velocidad a restar
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; override;
- Método heredado, se sobreescribe porque se dibuja de forma distinta
function mDisparar( dT: tTiempo; ov : cObjetoVolador = nil ): cArma; override;
- Hace que se dispare un arma
- Parameters
-
ov
: Objetivo del disparo -
dT
: Intervalo de tiempo - Returns
- Arma disparada (o nil si no se puede disparar ningún arma)
function mGetArmaSelec: tArma;
- Returns
- Arma seleccionada
function mGetLockeado: cObjetoVolador;
- Returns
- Objeto volador lockeado
function mGetUltimoArmaDisparado: cArma;
- Returns
- Último arma disparado
procedure mGirarAbajo( angulo: tAngulo );
- Permite a la nave girar hacia abajo (sobre su eje Y)
- Parameters
-
angulo
: Ángulo a girar
procedure mGirarArriba( angulo: tAngulo );
- Permite a la nave girar hacia arriba (sobre su eje Y)
- Parameters
-
angulo
: Ángulo a girar
procedure mGirarDerecha( angulo: tAngulo );
- Permite a la nave girar hacia la derecha (sobre su eje Z)
- Parameters
-
angulo
: Ángulo a girar
procedure mGirarIzquierda( angulo: tAngulo );
- Permite a la nave girar hacia la izquierda (sobre su eje Z)
- Parameters
-
angulo
: Ángulo a girar
function mIntentarDisparo: cArma;
- Returns
- Arma proximamente disparada
procedure mRotarDerecha( angulo: tAngulo );
- Permite a la nave rotar hacia la derecha (sobre su eje I)
- Parameters
-
angulo
: Ángulo a rotar
procedure mRotarIzquierda( angulo: tAngulo );
- Permite a la nave rotar hacia la izquierda (sobre su eje I)
- Parameters
-
angulo
: Ángulo a rotar
procedure mSeleccionarArma( a: tArma );
- Selecciona un arma determinada. Si tiene municiones, la selecciona, si no,
no hace nada.
procedure mSeleccionarArmaSig;
- Selecciona el proximo arma con municiones
function mSerializar: string; override;
- Returns
- Cadena de texto con el objeto serializado.
procedure mSetLockeado( ov: cObjetoVolador );
- Setea el objetivo lockeado
- Parameters
-
ov
: Objeto volador lockeado