Das
if chance = 0
und
+1
in deinen Code kannst'e wegkürzen, wenn du statt
<=
einfach nur
<
verwendest.
Delphi-Quellcode:
function GetChance(Chance: Single): Boolean;
begin
Result := Random(100) < Trunc(Chance * 100); // oder doch besser Round
end;
PS: Random ohne Parameter gibt einen Wert im Bereich
0.0 <= x < 1.0
zurück, welches doch perfekt zu den Werten deines Chance paßt.
Delphi-Quellcode:
function GetChance(Chance: Single): Boolean;
begin
Result := Random < Chance;
end;