示例#1
0
        public static void Main(string[] args)
        {
            int numberOfDice    = 2;
            int maxNumberOnDice = 4;
            int numberOfTurns   = 200000;

            if (args.Length == 3)
            {
                int.TryParse(args[0], out numberOfDice);
                int.TryParse(args[1], out maxNumberOnDice);
                int.TryParse(args[2], out numberOfTurns);
            }

            Console.WriteLine(string.Format("Anzahl der Würfel: {0}, Augenzahl pro Würfel: {1}, Anzahl der Spielrunden: {2}", numberOfDice, maxNumberOnDice, numberOfTurns));

            Random  r       = new Random();
            DiceSet diceSet = InitializeDiceSet(numberOfDice, maxNumberOnDice, r);                                  //Initialisieren der Würfel. Anzahl der Würfel, die Augenzahl pro Würfel und die (pseudo) Random Funktion. Diese wird nur einmal initialisiert, da ansonsten die Random Werte sich wiederholen können
            Player  player  = new Player();                                                                         //der Spieler.
            Board   board   = new Board(diceSet, player, InitializeEreignissKarten(r), InitializeZufallsKarten(r)); //Initialisierung des Spielfeldes

            board.Play(numberOfTurns);                                                                              //Start des Spieles

            //Ausgabe der Statistiken
            Console.WriteLine(board.GetThreeMostVisitedFields());
            Console.WriteLine(board.GetProbability());
            Console.ReadLine();
        }
示例#2
0
        public void AddDiceSetToResult(DiceSet diceSet)
        {
            _totalResult += diceSet.Result;

            if (diceSet.SameOfAKind)
            {
                _totalNumberXofAKind++;
            }

            LastDiceSet = diceSet;
        }
示例#3
0
        public Board(
            DiceSet diceSet,
            Player player,
            CardSet <EreignissKarte> ereignissKarten,
            CardSet <Zufallskarte> zufallsKarten)
        {
            recorder = new Dictionary <Fields, int>();

            _diceSet         = diceSet;
            _player          = player;
            _zufallsKarten   = zufallsKarten;
            _ereignissKarten = ereignissKarten;
        }
示例#4
0
 public DiceSetResult RollDice(DiceSet diceSet, DiceSetResult resultSet)
 {
     diceSet.RollDiceSet();
     resultSet.AddDiceSetToResult(diceSet);
     return(resultSet);
 }