Adviezen

Hoe gooi ik dobbelstenen in C #?

Hoe gooi ik dobbelstenen in C #?

Deze applicatie gebruikt een exemplaar van de Willekeurig() klasse in het object rnd. Er wordt ook voldoende ruimte toegewezen om de totalen voor scores 3 ... 18 in de array te houden Broodjes. Lid functies OneDice () geeft een waarde terug tussen 1 en 6 - rnd.Next (n) geeft waarden terug in het bereik 0 ... n-1, terwijl ThreeDice () calls OneDice () drie keer. De constructeur voor de RollDice () wist de Broodjes array roept vervolgens ThreeDice () echter vele malen (in dit geval 10 miljoen) en wordt het juiste verhoogd Broodjes element.

Het laatste deel is het afdrukken van de gegenereerde totalen om te zien dat het worpen genereert in overeenstemming met de waarschijnlijkheden. Een 6-zijdige dobbelsteen heeft een gemiddelde score van 3,5, dus drie dobbelstenen moeten gemiddeld ongeveer 10,5 zijn. De totalen voor 10 en 11 zijn ongeveer hetzelfde en komen ongeveer 12,5% van de tijd voor.

Hier is de uitvoer van een typische run. Het duurt niet langer dan een seconde. Omdat het een consoletoepassing is, heb ik een

Console.ReadKey ();

Wachten totdat u op een toets drukt voordat u sluit.

Programma-uitgang

3 46665
4 138772
5 277440
6 463142
7 693788
8 971653
9 1157160
10 1249360
11 1249908
12 1159074
13 972273
14 695286
15 463270
16 277137
17 138633
18 46439

Programmaoverzicht

het gebruik van systeem;
met behulp van System.Collections.Generic;
met behulp van System.Text;
naamruimte exrand
{
openbare klasse RollDice
    {
privé Willekeurig rnd = nieuw Random ();
private int Rolls = nieuwe int19; // Houdt 3 tot 18 vast
public int OneDice () {
return rnd.Next (6) +1;
        }
public int ThreeDice ()
        {
retourneren OneDice () + OneDice () + OneDice ();
        }
public RollDice (int Count)
        {
int i = 0;
voor (i = 3; i