PDA

Volledige versie bekijken : 2 array's schudden in = volgorde


bnw1984
%Europe/Berlin %564 %2007, 14:32
... en hop hier ben ik weer :P

ik schud/shuffle mijn array's met volgende functie
var HOOFD_array:Array = new Array (A,B,C,D);
var klein_array:Array = new Array (a,b,c,d);

Array.prototype.shuffle=function(){
for(i=0;i<this.length;i++){
var tmp=this[i];
var randomNum=random(this.length);
this[i]=this[randomNum];
this[randomNum]=tmp;
}
}
HOOFD_array.shuffle ();
klein_array.shuffle();

dit lukt dus perfect MAAR
- de array's staan dan wel niet meer in dezelfde volgorde
bv: A moet samengaan met a, B met b, C met c, ... OF B met b, A met a, D met d

Is er iemand die kan helpen ?
--> met een functie die meerdere array's gelijk ordent
--> of door de volgorde van de twee array's 'HOOFD' en 'klein' te laten bepalen door een andere array die ge-shuffled wordt

grtn

Dauntless
%Europe/Berlin %571 %2007, 14:42
Als je er nu 1 array van maakt vol objecten en dan gewoon die array shuffeled ? Nadien kan je eventueel de arrays terug uit elkaar halen.

bnw1984
%Europe/Berlin %581 %2007, 14:57
... euh en hoe doe je dat ? ;)

Dauntless
%Europe/Berlin %582 %2007, 14:59
var myArray:Array = new Array({a:a, b:A}, {a:b, b:B}, {a:c, b:C});
Dan die array shuffelen, en dan terug uit elkaar halen.

matzo
%Europe/Berlin %592 %2007, 15:13
Je zou ook kunnen doen:
var HOOFD_array:Array = new Array (A,B,C,D);
var klein_array:Array = new Array (a,b,c,d);

Array.prototype.shuffle=function(){
for(i=0;i<this.length;i++){
var randomNum=random(this.length);
this.swap(i, randomNum);
for(j=arguments.length-1; j>=0; j--){
arguments[j].swap(i,randomNum);
}
}
}
Array.prototype.swap=function(posOne:Number, posTwo:Number){
var temp = this[posOne];
this[posOne]=this[posTwo];
this[posTwo]=temp;
}
HOOFD_array.shuffle(klein_array);
Door het gebruik van arguments heb ik hem ook iets dynamischer gemaakt.
Als je dan 3 arrays hebt, HOOFD_array, klein_array, third_array, gebruik je gewoon:
HOOFD_array.shuffle(klein_array, third_array);

bnw1984
%Europe/Berlin %325 %2007, 08:48
Matzo en Dauntless,

alvast bedankt voor de hulp - ik test de zaken uit - maar msschn gooi ik mijn project over een andere boeg om de zaken toch iets eenvoudiger te houden ;)

grtn

bnw1984
%Europe/Berlin %833 %2007, 21:00
Matzo,

heb uiteindelijk je meervoudige shuffle functie dus héél goed kunnen gebruiken !

je voorbeelden zitten alvast in m'n privé AS-bib'je !

nogmaals dank !

BernardV
%Europe/Berlin %868 %2007, 21:50
Uhmm, als het echt alleen de bedoeling is om letters te shuffle'en dan heb je maar 1 array nodig en kun je met toUpperCase() en toLowerCase() wel de andere variant halen.

bnw1984
%Europe/Berlin %408 %2007, 10:48
Hi BernadV,

Uhmm, als het echt alleen de bedoeling is om letters te shuffle'en
--> héhé :P nee ... dat is dus niet de bedoeling ! in het eigenlijke project heb ik de functie gebruikt om _x/_y coördinaten te ordenen
- hiervoor heb ik een x_array en een y_array gebruikt - die dan "gelijk geordend" volgens de functie van Matzo
- op die wijze plaats ik mc's bij het openen van de movie op telkens een andere plaats in een raster

dan heb je maar 1 array nodig en kun je met toUpperCase() en toLowerCase() wel de andere variant halen.
--> ik kende deze prop's nog niet dus alvast weer iets dat ik weet - maar deze ordenen waarschijnlijk alfabetisch ?

thx en de groeten