Moin,
folgendes Problem: Per Random erzeuge ich ganz normale Zahlen von 0-4. Wenn der Zufall eine 0-2 generiert hat man verloren, bei einer 3-4 hat man gewonnen. Klappt auch alles gut soweit. Jetzt wollte ich die Wahrscheinlichkeit das man gewinnt oder verliert etwas beeinflussen, sodass die Wahrscheinlichkeit das man gewinnt höher ist. Also dachte ich mir beeinflusse ich einfach den Random-Aufruf:
Delphi-Quellcode:
function Wahrscheinlichkeit(x : Single) : Single;
begin
result := Random(5 div x)
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
edit2.Text := FloatToStr(Wahrscheinlichkeit(StrToFloat(edit1.Text)));
end;
Zuerst hatte die Funktion Wahrscheinlichkeit einen Rückgabewert vom Typ Integer, hab ich dann x zum Beispiel den Wert 1 zugewiesen kam auch nur 0-2 heraus. Da ich aber möchte das 3-4 kommt muss ja x < 1 sein, also hab ich einen Rückgabewert vom Typ Single bestimmt. Beim Compilieren sagt mir nun Delphi "[Fehler] Unit2.pas(30): E2015 Operator ist auf diesen Operandentyp nicht anwendbar". Wo liegt mein Fehler, oder wie beeinflusst man die Wahrscheinlichkeit von Random ? Irgendwie steh ich mal wieder auf dem Schlauch...
Danke und schöne Feiertage noch,