Para el tema de hacer una parábola, tendrás que jugar con senos cosenos, algo que simule gravedad y el campo dirección será directamente el ángulo en el que está cayendo/subiendo la pelota.
Todo esto suponiendo una velocidad constante... si quieres aceleración según va cayendo y deceleración según va subiendo, deberás agregar esta variable también.
Por ejemplo:
Col y lin será numeros reales (con coma)
Si estás en
- col = 10.0
- lin = 10.0
- y el paso es 1 (te mueves de a 1 caracter)
- y la direccion es 45º
la siguiente posición será:
col := col * sin(direccion);
lin := lin * cos(direccion);
Luego deberás posicionarte donde debes escribir la pelota.
Esto requiere valores enteros (sin coma)
GotoXY(Trunc(col), Trunc(lin)); // Trunc devuelve la parte entera de un valor.
Ten en cuenta que los valores para los grados deberá estar expresados en radianes (0-2*pi) (0-6.28).
Ten en cuenta que el seno y coseno te darán valores iguales y tendrás que controlarlos (sin(3/4*pi) = sin(1/4*pi)) porque será direcciones diferentes.