Code: Alles auswählen
procedure TMyThread.Execute;
var
seed : int64;
Random : Double;
const
IM = 13996886;
IA = 387746;
IC = 2957368;
procedure InitRandom;
var
CurPos : TPoint;
d,e : Double;
begin
GetCursorPos(CurPos);
if (CurPos.X <= 5) then CurPos.X := 5;
d := IM / (CurPos.X + CurPos.Y);
d := (d - Floor(d)) * 1000000;
e := IM / GetTickCount;
e := (e - Floor(e)) * 1000000;
Seed := (2 * Seed + Trunc(d) + Trunc(e)) div 4;
end;
procedure DoRandom;
begin
Seed := (Seed * IA + IC) mod IM;
Random := Seed / IM;
end;
begin
Seed := 572586;
repeat begin
InitRandom;
// Beispiel für Zufallszahl:
DoRandom;
[...] := [...] * Random + [...];
Suspend;
end until (Terminated);
end;