Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как установить процент выпадения какого-либо числа? (http://www.flasher.ru/forum/showthread.php?t=213767)

ЗУБЯТИНА 06.01.2017 15:34

Как установить процент выпадения какого-либо числа?
 
Как установить процент выпадения какого-либо числа?

Zebestov 07.01.2017 02:24

Код AS3:

Math.random() < myPercent / 100


dark256 07.01.2017 12:02

Цитата:

Сообщение от Zebestov (Сообщение 1198425)
Код AS3:

Math.random() < myPercent / 100


Не ожидал такого от тебя!
А как же фабрика фабрик классов? :)

Zebestov 07.01.2017 14:42

Это вызов!
Хорошо. У меня в играх используется система предсказуемого рандома. На протяжении некоторого периода всегда выпадет XX раз одно число и YY раз другое. Реализация проста: на старте наполняем массив XX количеством первых чисел и следом YY количеством вторых. После этого на протяжении игры делаем все по кругу:

1. Взболтали массив;
2. Установили индекс в ноль;
3. Каждый раз выдаем элемент массива с текущим индексом, после чего индекс++;
2. Как доберемся до конца массива, идем в п.1;

ЗУБЯТИНА 07.01.2017 18:33

Цитата:

Сообщение от Zebestov (Сообщение 1198425)
Код AS3:

Math.random() < myPercent / 100


Я немного не разобрался, куда вписывать этот код? И как указать, для какого числа будет действовать этот процент?

Zebestov 07.01.2017 18:40

Для любого будет действовать.
И это не столько код, сколько запрограммированный ответ на вопрос "ну чо там, сейчас выпадет то самое число, которое я тут держу наготове и которое должно выпадать с вероятностью myPercent, или нет?!". Куда это вставлять — тебе видней.

zackscript 08.01.2017 14:16

ЗУБЯТИНА , Вам сначала вообще надо разобраться где лучше писать сценарии Ваших приложений.

Swer 14.01.2017 14:03

Цитата:

Сообщение от Zebestov (Сообщение 1198439)
Это...
1. Взболтали массив;
2. Установили индекс в ноль;
3. Каждый раз выдаем элемент массива с текущим индексом, после чего индекс++;
2. Как доберемся до конца массива, идем в п.1;

Я делал что-то подобное , но по скорости такой способ проигрывает обычному Math.random()*myNumber

Zebestov 14.01.2017 14:37

Скорость здесь не критична. А если и критична, что нужно помнить, что родной Math.random() довольно тормозная штука и его следует заменять на самодельный.
Ну и главное. Мой подход выдает порции с гарантированным процентом выпадения случая.

undefined 14.01.2017 14:39

Цитата:

А если и критична, что нужно помнить, что родной Math.random() довольно тормозная штука и его следует заменять на самодельный.
А можно пример своего велосипеда, который быстрее нативного будет?


Часовой пояс GMT +4, время: 00:35.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.