Prosisz nas oto abyśmy zrobili za ciebie całą główną mechanikę twojej gry tzw. silnik gry. Nikt tego za ciebie nie napisze chyba że naprawdę komuś się nudzi i planował się z tego powodu pochlastać.
Można ci tutaj co najwyżej podpowiedzieć jakich funkcji użyć oraz jakoś cię nakierować.
GML
if keyboard_check_pressed( ord('Z') ) // jeżeli naciśniesz literę 'Z' to /*akcja*/ ci się wykona
{ /*akcja*/}
najblizszy=instance_nearest( x,y,obj ) // tym znajdziesz ID najbliższego obj od podanej pozycji</span></span>
aby wprawić w ruch piłkę nadaj jej kierunek ( direction ) i prędkość ( speed )
GML
obj_pilka.direction=point_direction(x,y,najblizszy.x,najblizszy.y);
obj_pilka.speed=4;
teraz objaśniam:
obj_pilka. - jeżeli wstawisz kropkę po nazwie objectu to zmienna za kropką wykona się właśnie w nim
obj_pilka.direction - ta zmienna to kierunek poruszania się piłki
point_direction(x,y,najblizszy.x,najblizszy.y) - zwraca kąt w stopniach jaki jest pomiędzy punktami x, y objektu w którym jest ten kod a punktami x, y najbliższego piłkarza ( wcześniej podałem ci funkcję jaką masz użyć aby go znaleźć )
obj_pilka.speed=4; - nadajemy piłce prędkości.