PDA

Volledige versie bekijken : random procentuele berekening


30equals
%Europe/Berlin %440 %2008, 10:33
hoi iedereen.

ik ben bezig met een flash game te developen. en ik zit met het volgende probleem.
nl:

ik heb 4 verschillende mc's die aan een mc worden geattached, en van boven naar beneden vallen met een hittest functie
nu zou ik procentueel moeten kunnen ingeven hoeveel van welke items mogen geattached worden. en alles moet ook random geattached worden.
dus niet na elke 14 stuks van het ene, mag een ander item vallen. maar meer een procentuele kansberekening

hoe doe ik dit het best ? het script dat ik nu heb gemaakt is niet echt waterproof..maw soms vallen er 5 dingen van hetzelfde na elkaar..

alvast bedankt!

Dauntless
%Europe/Berlin %444 %2008, 10:39
Als je het procentueel via kansberekening doet, kan het nog altijd zijn dat er 5 items van hetzelfde achter elkaar vallen.

Het meest eenvoudigste is zo:
var rand:Number = Math.random();
if(rand <= 0.2)
{
//drop fig 1;
}else if(rand <= 0.5)
{
//drop fig 2
}else if(rand <= 0.6)
{
//drop fig 3
}
else
{
//drop fig 4
}

Nu valt fig1 in 20% van de gevallen, fig2 in 30% van de gevallen, fig3 in 10% van de gevallen en fig4 in 40% van de gevallen.

30equals
%Europe/Berlin %677 %2008, 16:14
hey dauntless

zoals jij het voorstelde is het al opgezet... mja, het valt nog wel mee zo, maar ik zou het toch iets...strakker willen.

toch al bedankt hoor!

deresen
%Europe/Berlin %682 %2008, 16:22
Je wil het strakker?

Wat wil je hier strakker aan?

En wat wil je strakker?

Wat heb je al?

Jan
%Europe/Berlin %684 %2008, 16:25
Strakker? :S Wat bedoel je daar nu mee?

Als je echt wil vermijden dat tweemaal achter elkaar hetzelfde item gekozen wordt door je random functie moet je alle items in een array plaatsen. Uit deze array kies je at random een item. Vervolgens verwijder je dat item uit de array en bij de volgende at random keuze kies je uit de nieuwe (kortere) array. Als alle items op zijn begin je opnieuw met de volledige array.
Jan

30equals
%Europe/Berlin %705 %2008, 16:55
erm..."strakker" was misschien niet het juiste woord precies..
hetgeen ik al had was wat dauntless voorstelde

ik bedoel gewoon, de opgegeven methode werkt natuurlijk hoe ie moet. maar meer ziets in de richting dat adnez nu voorstelt dan..
dat er toch iets of wat controle is ofzo.

Jan
%Europe/Berlin %711 %2008, 17:05
http://www.flashfocus.nl/forum/search.php?searchid=2858869
Een aantal voorbeelden van scripts waarbij met een random+array gewerkt wordt zodat je nooit twee keer achter elkaar hetzelfde ziet.

Jan