Создание функции, возвращающей либо 1, либо 0 на основе определенного процента

#delphi

Вопрос:

Кажется, я не могу понять, как определить процентную «вероятность» возврата результата.

Например,

 Function roll(Percent:integer):string;
var
  I:integer;
Begin 
  I := Random(Percent);
  If I = 25 then
    result := 'win'
  else 
    result := 'lose';
End;

 

Но на самом деле у вас есть бросок(60); у вас 60% шансов на возврат выигрыша. Есть ли какой-нибудь способ этого добиться?

Приношу извинения за вероятное неправильное форматирование и плохой пример того, что я пытаюсь сделать, но любая обратная связь была бы очень признательна.

Комментарии:

1. if Random < Percent / 100 then Result := 'Win' else Result := 'Lose' . Пожалуйста, обратите внимание на написание «потерять».

2. Кстати, вы сами пробовали анализировать свой код? Когда вы прочитали документацию, вы узнали, что Random(Percent) возвращает случайное целое число между 0 и Percent - 1 . Так, например, если Percent = 10 вы получаете случайное целое число между 0 и 9 . Теперь случайное целое число между 0 и 9 никогда не будет равно 25 , так что ясно , что вы каждый раз будете проигрывать.

3. Я бы, вероятно, использовал что-то вроде if Random(100) < Percent then result := 'win' else result := 'lose'; того, что 0..59 выигрывает и 60..99 проигрывает.