Insgesamt wäre es mit Funktionen mit Parametern jedenfalls sinnvoller. Was bei der Berechnung passiert ist wegen der globalen Variablen auf den ersten Blick nicht zu sehen, deshalb schreibe ich dazu lieber nix...
Delphi-Quellcode:
function TForm1.Wertzuordnen(Number: Integer): Integer;
begin
Result := Number mod 13;
if Result > 10 then
Result := 10;
end;
function TForm1.ZufallszahlErstellen(): Integer;
begin
Result := Trunc(Random(52) + 1);
end;
procedure TForm1.Kartenzuordnen();
procedure ImageZuordnen(Image: TImage; var Zufall, Wert: Integer);
begin
Zufall := ZufallszahlErstellen();
img_Ba1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)
+ 'Karten/' + IntToStr(Zufall) + '.bmp');
Ba1Wert := Wertzuordnen(Zufall);
end;
begin
img_Ba3.Visible := false;
img_Sp3.Visible := false;
ImageZuordnen(img_Ba1, Ba1, Ba1Wert);
ImageZuordnen(img_Ba2, Ba2, Ba2Wert);
ImageZuordnen(img_Ba3, Ba3, Ba3Wert);
ImageZuordnen(img_Sp1, Sp1, Sp1Wert);
ImageZuordnen(img_Sp2, Sp2, Sp2Wert);
ImageZuordnen(img_Sp3, Sp3, Sp3Wert);
end;
// EDIT:
@himitsu:
Das ist aber auch nicht das selbe.
25 mod 13 = 12
Max(12, 10) = 12
Meinst du Min? Damit sollte es klappen.