Ich habe dieses Code-Snippet:
%Vor%Meine Frage ist, berechnet es wirklich eine 25% Wahrscheinlichkeit, hier zu gewinnen? Ist die Gewinnchance für den Spieler hier wirklich 25%?
Bearbeiten:
Ich habe das gerade geschrieben:
%Vor%Und es ist sehr ungenau. Es geht von etwa 0,15 bis 0,3.
Aber wenn ich mehr Kontrollen mache (Wechsel von (i & lt; 100) zu (i & lt; 10000)), ist es viel genauer.
Warum ist das? Warum reichen 100 Checks nicht aus, um genau zu sein?
In den meisten Fällen würde ich ja sagen. Sie müssen sich jedoch daran erinnern, dass die meisten Randomisierungsalgorithmen einen Pseudozufallsgenerator verwenden und Sie daher in gewissem Maße den Eigenheiten dieses bestimmten Generators ausgeliefert sind. Ich stimme mit @Awoke überein, dass Sie auch nur eine Zufallszahl zwischen 1 und 4 eingeben können und das gleiche Ergebnis erhalten. Ich gehe davon aus, dass der .Net-Randomisierungsalgorithmus für die meisten Fälle ausreichen sollte. Für weitere Informationen siehe:
Ja, das sollte gut funktionieren. genau wie & gt; = 75 würde auch funktionieren. Wenn Sie nur 25% wollen, können Sie einfach eine Zufallszahl zwischen 1 und 4 eingeben.
Aber beachte bitte, eine 25% ige Chance bedeutet NICHT, dass er aus 100 Versuchen 25 mal gewinnen wird. Es bedeutet nur jedes Mal, wenn er eine 25% ige Gewinnchance hat. Es ist theoretisch möglich, dass er jedes Mal gewinnt. (Aber das wird nicht passieren, vor allem mit einem Pseudozufallsgenerator).
Intern wird die Zufallszahl zwischen 0 und 1 liegen, also ist es genauso zufällig, 4 als 1000 zu verwenden, soweit das geht. Fügen Sie den Parameter hinzu, projizieren Sie ihn einfach in den gewünschten Bereich.
Tags und Links c# probability percentage