PDA

Volledige versie bekijken : Random maar niet dubbel


joep
%Europe/Berlin %590 %2009, 15:09
Beste ffers,

Ik ben bezig met een project waarbij ik gebruik maak van de random functie.
Er zijn 10 mc die met een onRelease in de scene komen.

Dit is mijn script


mcChange.onRelease = function(){
nummer = Math.floor((Math.random()*9)+1);
oudeplaats();
}
Dit werkt allemaal, maar ik loop tegen een probleem op.

Random onder de 10 betekend dat er vaak dezelfde getallen achter elkaar komen, wat niet de bedoeling is.

Weet iemand hier een oplossing voor?

Mvg Joep Muijres

Jan
%Europe/Berlin %594 %2009, 15:15
Houdt de vorige nummers bij in een array en kijk bij de volgende of dat nummer al in die array zit. Zo ja, blijf een nieuw random nummer maken totdat je er eentje hebt dat niet in die array zit.

Je kan ook op voorhand een array maken met 10 unieke random nummers in(volgens hetzelfde principe) en er dan telkens het volgende uit halen.

Groeten;
Jan

joep
%Europe/Berlin %616 %2009, 15:48
Hey adnez,

allereerst bedankt voor je snelle reactie.

Het klinkt logisch wat je zegt.
Ik ben gaan zoeken en ik vond de indexOf function, alleen die leest volgens mij geen numbers..

en ik weet geen raad met de contains function.

ik had zoiets in gedachten:


if(teller.contains(nummer){
teller.push(nummer);
oudeplaats();
}


Maar dat werkt dus niet..

Joep