2 <H2>Class: cObjetoVolador</H2>
\r
3 <pre> <A HREF=cObjeto.html>cObjeto</A> ----+
\r |
\r <A HREF=cObjetoPersistente.html>cObjetoPersistente</A> ----+
\r |
\r cObjetoVolador
\r</pre><hr>
\r
4 <B>Description:</B><BR>Clase abstracta, implementa todas las funcionalidades básicas de los objetos voladores.
\r
5 De esta van a derivar la mayor parte del resto de las clases.
\r
6 <p><B>Unit:</B><BR><A HREF=ObjetoVolador.html>ObjetoVolador</A>
\r
7 <code> <A HREF=ObjetoVolador.pas>(ObjetoVolador.pas)</code></A><BR><BR>
\r
8 <p><B>Constructors:</B><BR>
\r
11 <IMG SRC=public.gif>
\r
12 <A HREF="cObjetoVolador.html#0">constructor create( pos: cVector = nil; vel: cVector = nil; dim: tLongitud = 5; pot: tEnergia = 1; ene: tEnergia = 100 ); overload;</A><BR>
\r
18 <IMG SRC=public.gif>
\r
19 <A HREF="cObjetoVolador.html#1">constructor create( ov: cObjetoVolador ); overload;</A><BR>
\r
22 Constructor que copia los atributos de un Objeto volador existente
\r
25 <p><B>Methods:</B><BR>
\r
28 <IMG SRC=public.gif>
\r
29 <A HREF="cObjetoVolador.html#2">destructor destroy; override;</A><BR>
\r
35 <IMG SRC=public.gif>
\r
36 <A HREF="cObjetoVolador.html#3">function mColisiono( ov: cObjetoVolador ): boolean;</A><BR>
\r
39 Devuelve true si colisionaron los objetos voladores
\r
42 <IMG SRC=public.gif>
\r
43 <A HREF="cObjetoVolador.html#4">procedure mDesSerializar( str: string ); override;</A><BR>
\r
46 Recrea el objeto a partir de una cadena de texto con el objeto
\r
50 <IMG SRC=public.gif>
\r
51 <A HREF="cObjetoVolador.html#5">function mDibujar: tObjetosVoladores; virtual; abstract;</A><BR>
\r
54 Método abstracto, se sobreescribira en las subclases porque van a ser
\r
55 dibujadas de forma diferente
\r
58 <IMG SRC=public.gif>
\r
59 <A HREF="cObjetoVolador.html#6">function mGetCoordenadas: cCoordenadas;</A><BR>
\r
62 Obtiene el sistema de coordenadas de la nave
\r
65 <IMG SRC=public.gif>
\r
66 <A HREF="cObjetoVolador.html#7">function mGetDebugInfo( debugLevel: tDebugInfo = DI_MINI ): string; override;</A><BR>
\r
69 Método heredado que devuelve un string con el estado del Objeto. Se utiliza para depurar
\r
70 y la información entregada depende del parámetro tDebugInfo.
\r
73 <IMG SRC=public.gif>
\r
74 <A HREF="cObjetoVolador.html#8">function mGetDimension: tLongitud;</A><BR>
\r
77 Obtiene la Dimension del objeto volador
\r
80 <IMG SRC=public.gif>
\r
81 <A HREF="cObjetoVolador.html#9">function mGetDistancia( ov: cObjetoVolador ): tLongitud;</A><BR>
\r
84 Calcula la distancia a otro objeto volador
\r
87 <IMG SRC=public.gif>
\r
88 <A HREF="cObjetoVolador.html#10">function mGetEnergia: tEnergia;</A><BR>
\r
91 Obtiene la Energia del objeto volador
\r
94 <IMG SRC=public.gif>
\r
95 <A HREF="cObjetoVolador.html#11">function mGetI: cVector;</A><BR>
\r
98 Obtiene el versor i del sistema de coordenadas de la nave
\r
101 <IMG SRC=public.gif>
\r
102 <A HREF="cObjetoVolador.html#12">function mGetJ: cVector;</A><BR>
\r
105 Obtiene el versor j del sistema de coordenadas de la nave
\r
108 <IMG SRC=public.gif>
\r
109 <A HREF="cObjetoVolador.html#13">function mGetK: cVector;</A><BR>
\r
112 Obtiene el versor k del sistema de coordenadas de la nave
\r
115 <IMG SRC=public.gif>
\r
116 <A HREF="cObjetoVolador.html#14">function mGetPosicion: cVector;</A><BR>
\r
119 Obtiene la Posicion del objeto volador
\r
122 <IMG SRC=public.gif>
\r
123 <A HREF="cObjetoVolador.html#15">function mGetPotencia: tEnergia;</A><BR>
\r
126 Obtiene la Potencia del objeto volador
\r
129 <IMG SRC=public.gif>
\r
130 <A HREF="cObjetoVolador.html#16">function mGetVelModulo: tLongitud;</A><BR>
\r
133 Obtiene el modulo de la velocidad del objeto volador
\r
136 <IMG SRC=public.gif>
\r
137 <A HREF="cObjetoVolador.html#17">function mGetVelocidad: cVector;</A><BR>
\r
140 Obtiene la velocidad del objeto volador
\r
143 <IMG SRC=public.gif>
\r
144 <A HREF="cObjetoVolador.html#18">procedure mMover( dT: tTiempo ); virtual;</A><BR>
\r
147 Mueve el objeto volador basandose en su posicion, su velocidad y un intervalo de tiempo
\r
150 <IMG SRC=public.gif>
\r
151 <A HREF="cObjetoVolador.html#19">function mRestarEnergia( ene: tEnergia ): cObjetoVolador;</A><BR>
\r
154 Resta energia al objeto volador
\r
157 <IMG SRC=protected.gif>
\r
158 <A HREF="cObjetoVolador.html#20">function mRotarEnI( dAngulo: tAngulo ): cObjetoVolador;</A><BR>
\r
161 Rota el objeto volador sobre el eje i
\r
162 (el sentido positivo es de j a k)
\r
165 <IMG SRC=protected.gif>
\r
166 <A HREF="cObjetoVolador.html#21">function mRotarEnJ( dAngulo: tAngulo ): cObjetoVolador;</A><BR>
\r
169 Rota el objeto volador sobre el eje j
\r
170 (el sentido positivo es de i a k)
\r
173 <IMG SRC=protected.gif>
\r
174 <A HREF="cObjetoVolador.html#22">function mRotarEnK( dAngulo: tAngulo ): cObjetoVolador;</A><BR>
\r
177 Rota el objeto volador sobre el eje k
\r
178 (el sentido positivo es de i a j)
\r
181 <IMG SRC=public.gif>
\r
182 <A HREF="cObjetoVolador.html#23">function mSerializar: string; override;</A><BR>
\r
185 Devuelve una cadena de texto con el objeto serializado.
\r
188 <IMG SRC=protected.gif>
\r
189 <A HREF="cObjetoVolador.html#24">function mSetEnergia( ene: tEnergia ): cObjetoVolador;</A><BR>
\r
192 Método para establecer la energía
\r
195 <IMG SRC=public.gif>
\r
196 <A HREF="cObjetoVolador.html#25">function mSetPosicion( posicion: cVector ): cObjetoVolador;</A><BR>
\r
199 Método para establecer la posición
\r
202 <IMG SRC=public.gif>
\r
203 <A HREF="cObjetoVolador.html#26">function mSetVelDir( velocidad: cVector ): cObjetoVolador;</A><BR>
\r
206 Método para establecer la direccion de la velocidad
\r
209 <IMG SRC=public.gif>
\r
210 <A HREF="cObjetoVolador.html#27">function mSetVelModulo( velocidad: tLongitud ): cObjetoVolador; virtual;</A><BR>
\r
213 Método para establecer el modulo de la velocidad
\r
216 <IMG SRC=public.gif>
\r
217 <A HREF="cObjetoVolador.html#28">function mSetVelocidad( velocidad: cVector ): cObjetoVolador; virtual;</A><BR>
\r
220 Método para establecer la velocidad
\r
224 <p><IMG SRC=constructors.gif>
\r
225 <A NAME="0"></A><P>
\r
226 <IMG SRC=public_big.gif>
\r
227 <CODE>constructor create( pos: cVector = nil; vel: cVector = nil; dim: tLongitud = 5; pot: tEnergia = 1; ene: tEnergia = 100 ); overload;</CODE>
\r
230 </dd><dd><B>Parameters</B></dd><dd> <CODE>pos </CODE> : Posicion inicial</dd><dd> <CODE>vel </CODE> : Velocidad inicial</dd><dd> <CODE>dim </CODE> : Dimensión del objeto volador (radio, en metros)</dd><dd> <CODE>pot </CODE> : Potencia del objeto volador (cantidad de daño que hace por intervalode tiempo)</dd><dd> <CODE>ene </CODE> : Energía del objeto volador(cantidad de daño que soporta antes de ser destruido)</dd><p>
\r
231 </dl></dd></dl><HR>
\r
232 <A NAME="1"></A><P>
\r
233 <IMG SRC=public_big.gif>
\r
234 <CODE>constructor create( ov: cObjetoVolador ); overload;</CODE>
\r
236 <dd>Constructor que copia los atributos de un Objeto volador existente</dd><p>
\r
237 </dl></dd></dl><HR>
\r
238 <p><IMG SRC=methods.gif>
\r
239 <A NAME="2"></A><P>
\r
240 <IMG SRC=public_big.gif>
\r
241 <CODE>destructor destroy; override;</CODE>
\r
243 <dd>Destructor</dd><p>
\r
244 </dl></dd></dl><HR>
\r
245 <A NAME="3"></A><P>
\r
246 <IMG SRC=public_big.gif>
\r
247 <CODE>function mColisiono( ov: cObjetoVolador ): boolean;</CODE>
\r
249 <dd>Devuelve true si colisionaron los objetos voladores
\r
250 @return <i>true<i> si colisionaron, <i>false</i> si no lo hicieron
\r
251 </dd><dd><B>Parameters</B></dd><dd> <CODE>ov </CODE> : Objeto volador con el que se evalua si colisiono</dd><p>
\r
252 </dl></dd></dl><HR>
\r
253 <A NAME="4"></A><P>
\r
254 <IMG SRC=public_big.gif>
\r
255 <CODE>procedure mDesSerializar( str: string ); override;</CODE>
\r
257 <dd>Recrea el objeto a partir de una cadena de texto con el objeto
\r
259 </dd><dd><B>Parameters</B></dd><dd> <CODE>str </CODE> : Cadena de texto con el objeto serializado.</dd><p>
\r
260 </dl></dd></dl><HR>
\r
261 <A NAME="5"></A><P>
\r
262 <IMG SRC=public_big.gif>
\r
263 <CODE>function mDibujar: tObjetosVoladores; virtual; abstract;</CODE>
\r
265 <dd>Método abstracto, se sobreescribira en las subclases porque van a ser
\r
266 dibujadas de forma diferente</dd><p>
\r
267 </dl></dd></dl><HR>
\r
268 <A NAME="6"></A><P>
\r
269 <IMG SRC=public_big.gif>
\r
270 <CODE>function mGetCoordenadas: cCoordenadas;</CODE>
\r
272 <dd></dd><dd><B>Returns</B></dd><dd> Sistema de coordenadas de la nave</dd><p>
\r
273 </dl></dd></dl><HR>
\r
274 <A NAME="7"></A><P>
\r
275 <IMG SRC=public_big.gif>
\r
276 <CODE>function mGetDebugInfo( debugLevel: tDebugInfo = DI_MINI ): string; override;</CODE>
\r
278 <dd>Devuelve el estado del objeto basandose en la cantidad de datos requeridos.
\r
279 @return Cadena de texto con el estado del Objeto.
\r
280 </dd><dd><B>Parameters</B></dd><dd> <CODE>debugLevel </CODE> : Cantidad de información requerida</dd><p>
\r
281 </dl></dd></dl><HR>
\r
282 <A NAME="8"></A><P>
\r
283 <IMG SRC=public_big.gif>
\r
284 <CODE>function mGetDimension: tLongitud;</CODE>
\r
286 <dd></dd><dd><B>Returns</B></dd><dd> Dimensión (radio, en metros)</dd><p>
\r
287 </dl></dd></dl><HR>
\r
288 <A NAME="9"></A><P>
\r
289 <IMG SRC=public_big.gif>
\r
290 <CODE>function mGetDistancia( ov: cObjetoVolador ): tLongitud;</CODE>
\r
292 <dd>Calcula la distancia a otro objeto volador
\r
293 @return Distancia al otro objeto volador
\r
294 </dd><dd><B>Parameters</B></dd><dd> <CODE>ov </CODE> : Objeto volador al que se calcula la distancia</dd><p>
\r
295 </dl></dd></dl><HR>
\r
296 <A NAME="10"></A><P>
\r
297 <IMG SRC=public_big.gif>
\r
298 <CODE>function mGetEnergia: tEnergia;</CODE>
\r
300 <dd></dd><dd><B>Returns</B></dd><dd> Energía (cantidad de daño que soporta antes de ser destruido)</dd><p>
\r
301 </dl></dd></dl><HR>
\r
302 <A NAME="11"></A><P>
\r
303 <IMG SRC=public_big.gif>
\r
304 <CODE>function mGetI: cVector;</CODE>
\r
306 <dd></dd><dd><B>Returns</B></dd><dd> Versor i, que representa la direccion en la que viaja el objeto</dd><p>
\r
307 </dl></dd></dl><HR>
\r
308 <A NAME="12"></A><P>
\r
309 <IMG SRC=public_big.gif>
\r
310 <CODE>function mGetJ: cVector;</CODE>
\r
312 <dd></dd><dd><B>Returns</B></dd><dd> Versor j, que representa la direccion en la que está la izquierda del objeto</dd><p>
\r
313 </dl></dd></dl><HR>
\r
314 <A NAME="13"></A><P>
\r
315 <IMG SRC=public_big.gif>
\r
316 <CODE>function mGetK: cVector;</CODE>
\r
318 <dd></dd><dd><B>Returns</B></dd><dd> Versor k, que representa la direccion en la que está el "techo" del objeto</dd><p>
\r
319 </dl></dd></dl><HR>
\r
320 <A NAME="14"></A><P>
\r
321 <IMG SRC=public_big.gif>
\r
322 <CODE>function mGetPosicion: cVector;</CODE>
\r
324 <dd></dd><dd><B>Returns</B></dd><dd> Vector posición</dd><p>
\r
325 </dl></dd></dl><HR>
\r
326 <A NAME="15"></A><P>
\r
327 <IMG SRC=public_big.gif>
\r
328 <CODE>function mGetPotencia: tEnergia;</CODE>
\r
330 <dd></dd><dd><B>Returns</B></dd><dd> Potencia (cantidad de daño que realiza por intervalo de tiempo)</dd><p>
\r
331 </dl></dd></dl><HR>
\r
332 <A NAME="16"></A><P>
\r
333 <IMG SRC=public_big.gif>
\r
334 <CODE>function mGetVelModulo: tLongitud;</CODE>
\r
336 <dd></dd><dd><B>Returns</B></dd><dd> Módulo de la velocidad</dd><p>
\r
337 </dl></dd></dl><HR>
\r
338 <A NAME="17"></A><P>
\r
339 <IMG SRC=public_big.gif>
\r
340 <CODE>function mGetVelocidad: cVector;</CODE>
\r
342 <dd></dd><dd><B>Returns</B></dd><dd> Vector velocidad</dd><p>
\r
343 </dl></dd></dl><HR>
\r
344 <A NAME="18"></A><P>
\r
345 <IMG SRC=public_big.gif>
\r
346 <CODE>procedure mMover( dT: tTiempo ); virtual;</CODE>
\r
348 <dd>Mueve el objeto volador basandose en su posicion, su velocidad y un intervalo de tiempo
\r
349 </dd><dd><B>Parameters</B></dd><dd> <CODE>dT </CODE> : Intervalo de tiempo</dd><p>
\r
350 </dl></dd></dl><HR>
\r
351 <A NAME="19"></A><P>
\r
352 <IMG SRC=public_big.gif>
\r
353 <CODE>function mRestarEnergia( ene: tEnergia ): cObjetoVolador;</CODE>
\r
355 <dd>Resta energía al objeto volador
\r
356 </dd><dd><B>Parameters</B></dd><dd> <CODE>ene </CODE> : Energía a restar</dd><p>
\r
357 </dl></dd></dl><HR>
\r
358 <A NAME="20"></A><P>
\r
359 <IMG SRC=protected_big.gif>
\r
360 <CODE>function mRotarEnI( dAngulo: tAngulo ): cObjetoVolador;</CODE>
\r
362 <dd>Rota el objeto volador sobre el eje i
\r
363 (el sentido positivo es de j a k)</dd><p>
\r
364 </dl></dd></dl><HR>
\r
365 <A NAME="21"></A><P>
\r
366 <IMG SRC=protected_big.gif>
\r
367 <CODE>function mRotarEnJ( dAngulo: tAngulo ): cObjetoVolador;</CODE>
\r
369 <dd>Rota el objeto volador sobre el eje j
\r
370 (el sentido positivo es de i a k)</dd><p>
\r
371 </dl></dd></dl><HR>
\r
372 <A NAME="22"></A><P>
\r
373 <IMG SRC=protected_big.gif>
\r
374 <CODE>function mRotarEnK( dAngulo: tAngulo ): cObjetoVolador;</CODE>
\r
376 <dd>Rota el objeto volador sobre el eje k
\r
377 (el sentido positivo es de i a j)</dd><p>
\r
378 </dl></dd></dl><HR>
\r
379 <A NAME="23"></A><P>
\r
380 <IMG SRC=public_big.gif>
\r
381 <CODE>function mSerializar: string; override;</CODE>
\r
383 <dd></dd><dd><B>Returns</B></dd><dd> Cadena de texto con el objeto serializado.</dd><p>
\r
384 </dl></dd></dl><HR>
\r
385 <A NAME="24"></A><P>
\r
386 <IMG SRC=protected_big.gif>
\r
387 <CODE>function mSetEnergia( ene: tEnergia ): cObjetoVolador;</CODE>
\r
389 <dd>Setea la energía del objeto volador a un valor arbitrario
\r
390 </dd><dd><B>Parameters</B></dd><dd> <CODE>ene </CODE> : Nueva energía</dd><p>
\r
391 </dl></dd></dl><HR>
\r
392 <A NAME="25"></A><P>
\r
393 <IMG SRC=public_big.gif>
\r
394 <CODE>function mSetPosicion( posicion: cVector ): cObjetoVolador;</CODE>
\r
396 <dd>Método para establecer la posición
\r
397 </dd><dd><B>Parameters</B></dd><dd> <CODE>velocidad </CODE> : Nuevo vector posición</dd><p>
\r
398 </dl></dd></dl><HR>
\r
399 <A NAME="26"></A><P>
\r
400 <IMG SRC=public_big.gif>
\r
401 <CODE>function mSetVelDir( velocidad: cVector ): cObjetoVolador;</CODE>
\r
403 <dd>Método para establecer la direccion de la velocidad
\r
404 </dd><dd><B>Parameters</B></dd><dd> <CODE>velocidad </CODE> : Nueva dirección de la velocidad</dd><p>
\r
405 </dl></dd></dl><HR>
\r
406 <A NAME="27"></A><P>
\r
407 <IMG SRC=public_big.gif>
\r
408 <CODE>function mSetVelModulo( velocidad: tLongitud ): cObjetoVolador; virtual;</CODE>
\r
410 <dd>Método para establecer el modulo de la velocidad
\r
411 </dd><dd><B>Parameters</B></dd><dd> <CODE>velocidad </CODE> : Nuevo módulo de la velocidad</dd><p>
\r
412 </dl></dd></dl><HR>
\r
413 <A NAME="28"></A><P>
\r
414 <IMG SRC=public_big.gif>
\r
415 <CODE>function mSetVelocidad( velocidad: cVector ): cObjetoVolador; virtual;</CODE>
\r
417 <dd>Establece la velocidad del objeto volador
\r
418 </dd><dd><B>Parameters</B></dd><dd> <CODE>velocidad </CODE> : Nuevo vector velocidad</dd><p>
\r
419 </dl></dd></dl><HR>
\r