Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2008, 06:46   #1
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию Шанс "дропа" в %

Не знаю даже правильно ли назвал тему, если кто сталкивался с задачей так называемого дропа или шанса выпадения вещи по другому, или просто шанса происхождения некоторой ситуации, подскажите.
Код:
x := random(100)+1;
if x in [1..50] then reshka := true;
Можно ли это решение считать правильным для падения монетки решкой вверх? (какбы 50% шанс с(8 ) Или существуют другие способы? Теорию вероятностей я не знаю.
Zeraim вне форума Ответить с цитированием
Старый 05.12.2008, 08:53   #2
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

А мну нравиться вот так....:
Код:
x := random(99)+1;
if x mod 2=0 then reshka := true;
....только вот придеться мутить со случаим если вероятности не равны ^_^
Поэтому я за ваш вариант.
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 05.12.2008, 09:55   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

А разве не проще так:
Код:
 reshka := (random (2) = 0);
Arigato вне форума Ответить с цитированием
Старый 05.12.2008, 10:02   #4
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
По умолчанию

а если надо точно, то вероятность выпадения орла равна примерно 49,5%, а решки соответственно - 50,5%
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Старый 05.12.2008, 18:56   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

x=random(5)
rez:= x<2; // вер true = 2/5 false 3/5
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 05.12.2008, 19:31   #6
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

Хмм посмотрел все варианты, не какой ощутимой разницы =\\ ниже 37 раз и выше 64, не у одного способа не прыгало, в среднем было где то 49-52 - это так, на вскидку 8)
Zeraim вне форума Ответить с цитированием
Старый 05.12.2008, 19:41   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Я не понял задачи. Нужно сделать, что бы выпадения были не 50 на 50?
Тогда назовите точно, какой процент Вам требуется?
Arigato вне форума Ответить с цитированием
Старый 05.12.2008, 20:41   #8
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

Ну задачи как таковой не было, меня интересовали способы, как можно сделать так называемый "шанс дропа" в онлайн играх.
Zeraim вне форума Ответить с цитированием
Старый 06.12.2008, 14:25   #9
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Тогда делается так:

Randomize;
X := Random(10) + 1;
case X of
1: действие 1;
2..7: действие 2;
else действие 3;
end;

В зависимости от диапазона чисел разные действия будут выпадать то чаще, то реже. Вобщем все так же, как и выше, но советую отказаться от if'ов в пользу case
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 06.12.2008, 15:58   #10
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

Ну кеис хорош если несколько действий, а если одно то проще ифом.
Zeraim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49