Hola a todos, debido a mi corta edad y a que la educacion en españa ha bajado notablemente, me encuentro en 3º de ESO y todavia no hemos hecho nada sobre funciones, ¡Y eso que me apasiona el tema y me encanta la programación! Como no tengo a nadie que me enseñe normalmente busco por internet pero no he encontrado nada sobre este tema aplicado a lo que quiero hacer (la verdad es que no he buscado mucho
![Roll Eyes (Sarcastic)](http://www.clubdelphi.com/foros/images/smilies/rolleyes.gif)
).
Os explico, lo que quiero hacer es una funcion que me devuelva un valor integer (RotationAngle.Y)
Se como hacer una función y todo eso, lo que no se es
LO QUE TENGO QUE HACER
En el evento onKeyPress hago un case para detectar que flecha se ha pulsado.
EJEMPLO:
Código Delphi
[-]
posfinal:=180;
AnimaciónRotación.Enabled=true;
if Objeto.RotationAngle.Y=posfinal then
begin
AnimaciónRotación.Enabled=false;
end;
else
begin
Objeto.RotationAngle.Y:=Objeto.RotationAngle.Y+5;
end;
De momento mi objeto "gira". Hasta ahí todo bien.
El problema es que en el supuesto caso de que mi posicion actual sea 0 (abajo) y quiero que se mueva hasta 270 lo que quiero es que en vez de sumar +5 y hacer todo el recorrido para llegar a 270, sume -5 y haga el trayecto mas corto.
AQUÍ VIENE MI PREGUNTA:
¿HAY ALGUNA FORMA DE SABER SI TENGO QUE SUMAR 5 o -5 dependiendo de la posición?
Y no, no quiero hacer un if anidado no soy tan cutre.
¡Gracias de antemano!
PD: Lo he preguntado en este foro por que sois muy majos todos.