Ejemplo n.º 1
0
 private static string GetRollsOfLastFrame(Frame f)
 {
     if (f.GetRollCount() == 0) return "    ";
     if (f.GetRollCount() == 1)
     {
         if (StrikeRule.IsStrike(f[0])) return " X  ";
         return string.Format(" {0}  ", f[0].GetPin());
     }
     if (f.GetRollCount() == 2)
     {
         if (StrikeRule.IsStrike(f[0]))
         {
             if (StrikeRule.IsStrike(f[1])) return " XX ";
             return string.Format(" X{0} ", f[1].GetPin());
         }
         if (SpareRule.IsSpare(f)) return string.Format(" {0}/ ", f[0].GetPin());
         return string.Format(" {0} {1}", f[0].GetPin(), f[1].GetPin());
     }
     if (f.GetRollCount() == 3)
     {
         if (StrikeRule.IsStrike(f[0]))
         {
             if (StrikeRule.IsStrike(f[1]))
             {
                 if (StrikeRule.IsStrike(f[2])) return " XXX";
                 return string.Format(" XX{0}", f[2].GetPin());
             }
             if (SpareRule.IsSpare(f[1], f[2])) return string.Format(" X{0}/", f[1].GetPin());
             return string.Format(" X{0}{1}", f[1].GetPin(), f[2].GetPin());
         }
         if (StrikeRule.IsStrike(f[2])) return string.Format(" {0}/X", f[0].GetPin());
         return string.Format(" {0}/{1}", f[0].GetPin(), f[2].GetPin());
     }
     throw new Exception();
 }
Ejemplo n.º 2
0
 private static bool IsCountMatch(Frame f)
 {
     return f.GetRollCount() == 1;
 }
Ejemplo n.º 3
0
 private static bool IsFullLastFrame(Frame f)
 {
     if (f.GetRollCount() == 2) return SumPin(f) < PinNumberRule.GetMax();
     return f.GetRollCount() == 3;
 }
Ejemplo n.º 4
0
 private static bool IsCountFull(Frame f)
 {
     return f.GetRollCount() == 2;
 }