создание КБК с использованием скрипта flash action - PullRequest
0 голосов
/ 22 декабря 2011

Я работаю с сценарием флэш-действия. Я генерирую случайный вопрос
Можете ли вы помочь мне сгенерировать последовательный вопрос для файла документа.

 i = 0;
    randno = Math.randomInt(totques);
    if (counter==1) {
        randno = Math.randomInt(totques);
        quesover = new Array;
        quesover[1] = randno;
    }
    else {
        for (i=0; i<counter; i++) {
            if (quesover[i]==randno) {
                randno = Math.randomInt(totques);
                i = 0;
            }
        }
        quesover[counter] = randno;
    }

Ответы [ 3 ]

0 голосов
/ 22 декабря 2011

Это вариант алгоритма Фишера-Йейтса (как и другого решения), но он должен быть намного быстрее и перетасовывать вместо создания нового массива.

var source : Array = ["Q1", "Q2", "Q3", "Q4", "Q5", "Q6", "Q7", "Q8", "Q9", "Q10"];
var temp : String;
var index : int;
for( i = source.length -1 ; i > 0 ; i-- ){
    index = Math.round( Math.random() * i );
    temp = source[ i ];  
    source[ i ] = source[ index ];
    source[ index ] = temp
}
0 голосов
/ 23 декабря 2011
i = 0;
    randno = counter;
    if (counter==1) {
        quesover = new Array;
        quesover[1] = randno;
    }
    else
    {
        quesover[counter] = randno;
    }

Этот ответ на мой вопрос

0 голосов
/ 22 декабря 2011
var myQues:Array = ["Q1", "Q2", "Q3", "Q4", "Q5", "Q6", "Q7", "Q8", "Q9", "Q10"];
var randomQues:Array = [];
var randomCount:Number =1;
var r:Number;
for (var i = 0; i<randomCount; i++) {
r = Math.floor(Math.random()*myQues.length);
randomQues[randomQues.length] = myQues.splice(r, 1);
}
trace(randomQues);
...