Тема: Rnd...
Показать сообщение отдельно
Старый 13.10.2005, 00:20   #15
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
)
Не считая крайних, он и не дает. Но на малом диапазоне эти крайние могут сильно портить нервы, если не юзать "хитрометоды". Зато теперь таких приемов предостаточно: и больше никто не будет ломать голову и ценное оборудование.

Кстати, если генератор случайных, работающий в заданом узком диапазоне, вызывается изредка и асинхронно (к примеру, для выбора фразы-ответа юнита или там анимации падения врага), то проще вообще юзать что то подобное:
Dim Value(4)
While q<10000
 RndCounter= RndCounter+1
 If RndCounter>3 Then RndCounter=1
 If Rnd(10)<2 Then;эта строка иммитирует асинхронные вызовы.
 q=q+1
 X=RndCounter
 Value(X)=Value(X)+1
 EndIf
Wend
For q=0 To 4
Print q+" возвращалось приблизительно в "+ Value(q)/100+"% случаев..."
Next
WaitKey()
P.S. Потому я задачку и называл "забавной" и поселил в Болтовню, что в ней мирно уживаются два маленьких подвоха.
(Offline)
 
Ответить с цитированием