Esempio n. 1
0
        protected bool Matches(DiceRoll roll, int length)
        {
            // Remove duplicates by going through set
            var values = roll.AsSet().ToList();

            values.Sort();

            var last  = -1;
            var count = 0;

            foreach (var val in values)
            {
                if (val - last == 1)
                {
                    count++;

                    if (count == length - 1)
                    {
                        return(true);
                    }
                }
                else
                {
                    count = 0;
                }

                last = val;
            }

            return(false);
        }
Esempio n. 2
0
 public void Assign(DiceRoll roll)
 {
     if (assigned.Value)
     {
         throw new ArgumentException();
     }
     else
     {
         score.Value    = category.Score(roll);
         assigned.Value = true;
     }
 }
Esempio n. 3
0
 public override int Score(DiceRoll roll)
 {
     return(Matches(roll) ? roll.AsList().Sum() : 0);
 }
Esempio n. 4
0
 protected bool Matches(DiceRoll roll)
 {
     return(roll.AsFrequencyTable().Frequencies.Any(f => f >= n));
 }
Esempio n. 5
0
 public override int Score(DiceRoll roll)
 {
     return(roll.AsFrequencyTable()[n] * n);
 }
Esempio n. 6
0
 public override int Score(DiceRoll roll)
 {
     return(roll.AsList().Sum());
 }
Esempio n. 7
0
 public override int Score(DiceRoll roll)
 {
     return(Matches(roll, 5) ? 40 : 0);
 }
Esempio n. 8
0
 public abstract int Score(DiceRoll roll);
Esempio n. 9
0
        private bool Matches(DiceRoll roll)
        {
            var freqs = new HashSet <int>(roll.AsFrequencyTable().Frequencies);

            return((freqs.Contains(2) && freqs.Contains(3)) || freqs.Contains(5));
        }