Antworten auf deine Fragen:
Neues Thema erstellen

Würfel

kleeaar

zwo-eins-risiko!

AW: Würfel

also deine Frage ist sehr sehr unterdefiniert...
zunächsteinmal gibt es Actionscript2 und Actionscript3 die sich in ihren Befehlen stark voneinander unterscheiden...


Aber das Erstellen einer zufallstahl in AS2 ist recht einfach und kann ich dir zeigen:

Code:
Math.round(Math.random()*5)+1

Was du damit dann anstellst sei dir überlassen :)

Grüße
 

keul3

3dsMax | 3D-Contest

AW: Würfel

also deine Frage ist sehr sehr unterdefiniert...
zunächsteinmal gibt es Actionscript2 und Actionscript3 die sich in ihren Befehlen stark voneinander unterscheiden...


Aber das Erstellen einer zufallstahl in AS2 ist recht einfach und kann ich dir zeigen:

Code:
Math.round(Math.random()*5)+1
Was du damit dann anstellst sei dir überlassen :)

Grüße

Das erstellen einer Zufallszahl geschiet sowohl in AS2 als auch in AS3 über die random()-Methode der Math-Klasse.

Dein Code ist fehlerbehaftet was die Wahrscheinlichkeitsverteilung angeht. Lieber mit folgender Methodik eine Zufallszahl erzeugen.

Code:
Math.floor( Math.random() * 6 )
Hier noch ein kleines Anschauungsbeispiel:
Code:
var c:uint = 6;

var p1:Array = new Array();
var p2:Array = new Array();

for (var i:uint = 0; i < c; i++)
{
    p1.push(0);
    p2.push(0);
}

function dice():uint
{
    var    n:uint = Math.floor( Math.random() * c );
        
    return n;
}

function diceInaccurate():uint
{
    var    n:uint = Math.round( Math.random() * (c - 1) );
        
    return n;
}

function showProbability(d:uint = 1, relative:Boolean = true, float:uint = 1):void
{
    for (var i:uint = 0; i < d; i++)
    {
        p1[dice()] ++;
        p2[diceInaccurate()] ++;
    }
    
    if (relative)
    {
        var fDigitsFactor:uint = Math.pow(10, float); 
        
        for (var j:uint = 0; j < p1.length; j++)
        {
            p1[j] *= c/d;
            p2[j] *= c/d;
    
            p1[j] = Math.round( p1[j] * fDigitsFactor) / fDigitsFactor;
            p2[j] = Math.round( p2[j] * fDigitsFactor) / fDigitsFactor;
        }
    }
    
    trace(p1); //gleichmaßige Verteilung
    trace(p2); //ungleichmäßige Verteilung (Anfangs- und Endwert unterdurchnittlich)
}

showProbability(10000);
 

h_seldon

Aktives Mitglied

AW: Würfel

Vielleicht wäre es für Anfänger auch gut, zu wissen, warum round bei der kleinsten und der größten Zahl zu einer halb so großen Wahrscheinlichkeit führt wie bei allen anderen Werten.

Math.random() gibt einen Wert >= 0 < 1 zurück. Betrachten wir nur die erste Nachkommastelle, erhalten wir 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 und 0.9. Davon werden mit round 0 bis 0.4 auf 0 abgerundet, ab 0.5 wird auf 1 aufgerundet, was zunächst einer gleichen Wahrscheinlicheit entspricht.

Wird eine Zufallszahl zwischen 0 und beispielsweise 20 ermittelt, sieht die Sache ganz anders aus: 0 bis 0.4 ergibt 0, 0.5 bis 0.9 ergibt 1 - aber 1 bis 1.4 ergibt ebenfalls 1. Bei 1.5 bis 2.4 erhalten wir 2 etc. Damit ist 0 beim Runden halb so wahrscheinlich wie 1 oder 2 etc. Vergleichbar ist die Situation beim größten Wert: dort können nur halb soviele Werte aufgerundet werden wie bei den übrigen Zahlen. Demzufolge ergeben 18.5 bis 19.4 gerundet die 19, aber nur 19.5 bis 19.9 gerundet die 20.

Happy coding
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.472
Mitglieder
67.558
Neuestes Mitglied
StarsMan
Oben