buongiorno a tutti. Cerco di sintetizzare al massimo il problema con Actionscript2.
Ho 18 numeri (1-18) divisi in 3 variabili da 6. Ad ogni run un numero uscito dallo script deve essere tolto dalla variabile dove è presente.
così funziona:
var linea1:Array = (1,2,3,4,5,6);
var linea2:Array = (7,8,9,10,11,12);
var linea3:Array = (13,14,15,16,17,18);
function getArrayIndex(src:Array, value:Object):Number
{
var item_count:Number = src.length;
for(var i:Number = 0; i < item_count; i++)
{
if(src[i] == value)
{
return i;
}
}
return -1;
}
if (getArrayIndex(linea1, numero) >= 0) {
linea1.splice (getArrayIndex(linea1, numero),1);
}
if (getArrayIndex(linea2, numero) >= 0) {
linea2.splice (getArrayIndex(linea2, numero),1);
}
if (getArrayIndex(linea3, numero) >= 0) {
linea3.splice (getArrayIndex(linea3, numero),1);
}
Se invece, come a me servirebbe. le tre variabili le riempio in modo random con il seguente script:
numeri=new Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 );
var uscite:Array = new Array();
for(m=0;m<19;m++){
if (numeri.length>0){
uscite.push(numeri.splice(random(numeri.length),1) )
}
}
var linea1:Array = new Array();
var linea2:Array = new Array();
var linea3:Array = new Array();
for ( f=0;f<6;f++)
{
linea1.push (uscite[f]);
}
for ( f=6;f<12;f++)
{
linea2.push (uscite[f]);
}
for ( f=12;f<18;f++)
{
linea3.push (uscite[f]);
}
non funziona e mi restituisce sempre valore -1 nonostante trace mi dia correttamente tre linee da sei numeri corrispondenti alla matrice random "uscite". PERCHE'?
Sto diventando scemo, spero quindi in un aiuto del quale rigrazio anticipatamente.
Ovviamente se esiste altro modo per ottenere la cosa (linee random da cui togliere il numero presente in esse) va bene lo stesso![]()

Rispondi quotando