![]() |
Управление случайными событиями
Господа, поделитесь, как вы управляете генерацией случайных (или не совсем) элементов.
Есть задача - генерировать случайные игровые элементы, при чем с изменением управляющей переменной должны меняться вероятности генерации тех или иных элементов. Например: Код:
K - управляющий коэффициент |
А ТЗ у вас нет? Опишите получше.
|
1. Каждому элементу задаем вес.
2. Суммируем веса, получаем диапазон от 0 до суммы весов, на который будут мапиться наши элементы. 3. Генерируем случайное число в этом диапазоне. 4. Проверяем, на какой элемент попало число. Пример. Пусть есть 3 элемента A, B, C с весами 1, 2 и 3 соответственно. Сумма весов - 6. Если выпало от 0 до 1, то это А Если выпало от 1 до 3, то это B Если выпало от 3 до 6, то это С Добавлено через 10 минут Если нужно при помощи одной "ручки" управлять весами, то я бы задал некую морфающую функцию f(x), где x - это индекс элемента. Соответственно, перед генерацией пропускать веса через нее. Код AS3:
|
Код AS3:
если сумма весов неизменна, то все сведется к такому Код AS3:
|
Math.random() -псевдо случайная выборка из диапазона 0-1. Так что конечная выборка генерируется для разных задач разная. Что вы ожидаете получить от (100-к*90)? Вы получаете либо 0-(-100), либо 90-80.
|
| Часовой пояс GMT +4, время: 21:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.