2011-12-22 4 views
0

Я работаю над сценарием флэш-действия. I'm генерирует случайный вопрос
может помочь мне создать последовательный вопрос для файла doc.Создание kbc с использованием сценария действия вспышки

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; 
    } 

ответ

0
i = 0; 
    randno = counter; 
    if (counter==1) { 
     quesover = new Array; 
     quesover[1] = randno; 
    } 
    else 
    { 
     quesover[counter] = randno; 
    } 

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

0
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); 
0

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

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 
} 
Смежные вопросы