Сейчас 15:30:41 Пятница, 20 декабря, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Проценты шанса.
DeadJassДата: Четверг, 02 Июня 2011, 23:58:10 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
Делаю триггерный крит.Шанс на срабатывание один - 25%
1.
Code
call GetRandomInt(1,4)

2.
Code
call GetRandomInt(1,100)

Такой вопрос.
Во-первых: Какой вариант быстрее. Мое мнение что первый,но я могу ошибаться.Хотя там перебор в мелких диапазонах,то думаю что первый,но все равно скажите.
Во-вторых: Вот тут заступорился.Какое должно быть условие что бы шанс был 25%
Code
call GetRandomInt(1,4)=? ?


Code
call GetRandomInt(1,100)=? ?

Добавлено (02-06-2011, 23:58)
---------------------------------------------
ой сори допустил ошибочку не "call" a "if". Просто скопировал,а исправить забыл.



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

AjaccioДата: Пятница, 03 Июня 2011, 00:48:56 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
Quote (DeadJass)
Какой вариант быстрее.


Может первый, а может второй. Пара лишних тактов приведения чисел процессор не перегрузит, это точно... Можете написать так:

Code
GetRandomReal(0.0, 1.0)


Соответственно, если мы хотим шанс 25%, то нужно указать:

Code
GetRandomReal(0.0, 1.0) <= 0.25


или

Code
GetRandomReal(1.0, 4.0) <= 1.00


или

Code
GetRandomReal(0.0, 100.0) <= 25.00


XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

DeadJassДата: Пятница, 03 Июня 2011, 01:02:29 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
Ajaccio, Спасибо!


^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

FkoFFДата: Суббота, 04 Июня 2011, 07:53:55 | Сообщение # 4
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Ajaccio, в твоем способе есть одна ошибка, которая того же дуоса развеселит очень и очень, меня впрочем тоже )

(0.0, 1.0) <= 0.25
(0.0, 1.0)
(1.0, 4.0) <= 1.00
(0.0, 100.0) <= 25.00

почти все нули лишнее.

(.0,1.)<=.25
(.0,1.)
(1.,4.)<=1.
(.0,100.)<=25.

а вообще для таких целей лучше использовать integer числа.


 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz