Computerwissenschaften

Wie würfle ich in C #?

Diese Anwendung verwendet eine Instanz der Random () -Klasse im Objekt rnd . Es wird auch genügend Speicherplatz zugewiesen, um die Summen für die Punkte 3..18 im Array Rolls [] zu speichern . Die Mitgliedfunktionen OneDice () gibt einen Wert zwischen 1 und 6 – rnd.Next (n) zurückkehren Werte im Bereich 0..n-1, während ThreeDice () ruft OneDice () dreimal. Der Konstruktor für RollDice () löscht das Rolls- Array, ruft ThreeDice () jedoch mehrmals auf (in diesem Fall 10 Millionen) und erhöht das entsprechende Rolls [] -Element.

Der letzte Teil besteht darin, die generierten Summen auszudrucken, um zu sehen, dass Würfe gemäß den Wahrscheinlichkeiten generiert werden. Ein 6-seitiger Würfel hat eine durchschnittliche Punktzahl von 3,5, daher sollten drei Würfel einen Durchschnitt von etwa 10,5 haben. Die Summen für 10 und 11 sind ungefähr gleich und treten in etwa 12,5% der Fälle auf.

Hier ist die Ausgabe eines typischen Laufs. Es dauert nicht länger als eine Sekunde. Da es sich um eine Konsolenanwendung handelt, habe ich eine eingefügt


 Console.ReadKey ();

Warten Sie, bis Sie eine Taste gedrückt haben, bevor Sie schließen.

 

Programmausgabe


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

 

Programmliste


using System; 
using System.Collections.Generic; 
using System.Text;

Namespace exrand
{
öffentliche Klasse RollDice
{
private Random rnd=new Random ();
private int [] Rolls=new int [19]; // Hält 3 bis 18

public int OneDice () {
return rnd.Next (6) +1;
}

public int ThreeDice ()
{
return OneDice () + OneDice () + OneDice ();
}

public RollDice (int Count)
{
int i=0;
für (i=3; i

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.