Als einfachste Lösung kann man eine Unterfunktion bilden und die Variable(n) übergeben:
Delphi-Quellcode:
procedure TSpielfeld1.InitiateHindernis(AHindernis: THindernis);
begin
repeat
AHindernis.initiate(clblue, random(image1.width - 20) + 10, random(image1.height - 20) + 10, random(40) + 81);
until ((sqrt(sqr(abs(maus.x - AHindernis.hx)) + sqr(abs(maus.y - AHindernis.hy))) > (maus.r + AHindernis.hr) + 8));
end;
procedure TSpielfeld1.FormCreate(Sender: TObject);
begin
InitiateHindernis(hindernis1);
InitiateHindernis(hindernis2);
InitiateHindernis(hindernis3);
hindernis1.show;
hindernis2.show;
hindernis3.show;
end;
Für die Hindernisse scheint ein Array eine gute Idee zu sein.