Ejemplo n.º 1
0
        public permutationsCalculator()
        {
            const int diceCount = 5;

            diceFaceTicker[] tickerArray = new diceFaceTicker[diceCount];
            for (int i = 0; i < diceCount; i++)
            {
                tickerArray[i] = new diceFaceTicker();
            }
            for (int j = diceCount - 1; j >= 1; j--)
            {
                tickerArray[j - 1].AddNeighbour(tickerArray[j]);
            }
            do
            {
                pokerDiceHand pdh = new pokerDiceHand(tickerArray[0].GetString());
                string        diceFacesOrderedByRank = pdh.getFacesOrderedByRank();
                if (duplicatesCountTable.ContainsKey(diceFacesOrderedByRank))
                {
                    int oldCount = duplicatesCountTable[diceFacesOrderedByRank];
                    duplicatesCountTable[diceFacesOrderedByRank] = oldCount + 1;
                }
                else
                {
                    duplicatesCountTable.Add(diceFacesOrderedByRank, 1);
                }
                tickerArray[0].Tick();
            }while (tickerArray[diceCount - 1].hasOverflowed() == false);

            int debugNumberEntriesInDuplicatesCountTable = duplicatesCountTable.Count;

            this.permutationTable = "|";
            foreach (var pair in duplicatesCountTable)
            {
                this.permutationTable += pair.ToString() + "|";
            }
        }
Ejemplo n.º 2
0
 public void AddNeighbour(diceFaceTicker n)
 {
     this.neighbour = n;
 }