Hallo,
ein paar kleine Anmerkungen:
Randomize() beim Ereignis Form.OnActivate() wird mitunter mehrmals aufgerufen - besser man koppelt es an Form.OnCreate().
Statt TKord kann man auch TPoint nehmen.
Warum sollen denn die Koordinaten überhaupt zwischengespeichert werden?
Hier noch ein Muster ohne Wert:
Delphi-Quellcode:
const
R = 200;
procedure TDemoForm.StartButtonClick(Sender: TObject);
const
TwoColors: array [Boolean] of TColor = (clBlue, clRed);
var
z, x, y: Double;
i, Treffer, Tropfenzahl: Integer;
isHit: Boolean;
begin
Tropfenzahl:= StrToInt(Edwdh.Text);
Treffer:=0;
for i := 1 to Tropfenzahl do
begin
x := Random;
y := Random;
isHit := x*x + y*y <= 1;
Inc(Treffer, Ord(isHit));
ImBild.Canvas.Pixels[Round(x * R), Round(y * R)] := TwoColors[isHit];
end;
z := (Treffer / Tropfenzahl) * 4;
EdTreffer.Text := IntToStr(Treffer);
EdPi.Text := FloatToStr(z);
end;
Freundliche Grüße