Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вероятность появления мувиклипа (http://www.flasher.ru/forum/showthread.php?t=128136)

flashowl 31.07.2009 12:58

Вероятность появления мувиклипа
 
Как сделать так, чтобы при нажатии на кнопку с определённой вероятностью появлялись 4 мувиклипа.
1 - 10%.
...
...
4-40%.
Спасибо за любую помощь

incorp 31.07.2009 13:23

если речь конечно идет о создании N кнопок, каждая из которых с вероятностью пропорциональной своему номеру создает 4 мувика, тогда можно попробовать так:
Код AS1/AS2:

for(var i=1;i<10;i++)
this["button_"+i].onPress = function()
{
var rand = Math.random();
if(rand<i*0.1) create_four_mc();
}

в первом преближении. не проверял.

udaaff 31.07.2009 13:45

Код AS1/AS2:

var r:Number = Math.random();
if (r >= .6)
        trace("40%");
else if (r >= .3)
        trace("30%");
else if (r >= .1)
        trace("20%");
else
        trace("10%");
 
// или так
var array:Array = [ 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 ];
var n:Number = array[Math.floor(10 * Math.random())];
trace(n + "0%");
 
// еще идея
var array:Array = [ .1, .3, .6, 1 ];
var length:Number = array.length;
var r:Number = Math.random();
for (var i:Number = 0; i < length; i++)
{
        if (r < array[i])
        {
                var n:Number = i + 1;
                break;
        }
}
trace(n + "0%");

Последний вариант для решения задачи в общем случае больше подходит чем другие, наверное. Какие еще варианты есть для решения в общем случае?? Т.е. есть N событий, и за раз может наступить одно из них с определенной вероятностью.

flashowl 31.07.2009 14:56

Что означает точка перед цифрой?

udaaff 31.07.2009 15:13

.1 -- это сокращенная запись 0.1


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

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