Danke für die Anmerkung. Ich hab das programmieren in der Schule gelernt und da die ersten Programme nicht wirklich lang und unübersichtlich sind, ist das Einrücken an mir vorbei gegangen.
Ich hab mir noch ein paar Gedanken gemacht und das auch ganz gut hinbekommen:
Delphi-Quellcode:
for k := 1 to 12 do
begin
repeat
gleich := false;
x := random(4) + 1;
partie[k].heim := teams[x]; //Mannschaft x wird ausgelost
while (y = 0) or (y = x) do
begin
y := random(4) + 1;
partie[k].auswaerts := teams[y]; //Mannschaft y wird ausgelost
end;
partiek[k] := strtoint(inttostr(x) + inttostr(y)); //die partie erhält den wert xy
while (i < k) and (gleich = false) do
begin
if (partiek[k]) = (partiek[i]) // es wird geprüft ob xy bereits vorhanden ist
then begin
gleich := true;
end
else gleich := false;
i := i + 1;
y := 0;
end;
until gleich = false;
m_spielplan.lines.add((partie[k].heim.name) + ('-') + (partie[k].auswaerts.name));
end;
Das ganze klappt ganz gut, nur die repeat-Schleife wird nicht wiederholt obwohl gleich=true ist.