Ejemplo n.º 1
0
 protected virtual int EvaluateImpl(Game game, IList<GameFrame> frames)
 {
     var result = 0;
     for (var i = 0; i < frames.Count; ++i) {
         var frame = frames[i];
         var next1 = Get(game, frames, i + 1);
         var next2 = Get(game, frames, i + 2);
         result += frames[i].Score;
         result += Bonus(frame, next1, next2);
     }
     return result;
 }
Ejemplo n.º 2
0
 internal static void Main(string[] args)
 {
     var game = new Game();
     var history = new[] {
         new[] {1, 4},
         new[] {4, 5},
         new[] {6, 4},
         new[] {5, 5},
         new[] {10},
         new[] {0, 1},
         new[] {7, 3},
         new[] {6, 4},
         new[] {10},
         new[] {2, 8, 6}
     };
     foreach (var frame in history) {
         foreach (var pins in frame) {
             game.Roll(pins);
         }
     }
     System.Console.WriteLine(game.Score());
     System.Console.WriteLine("Presss any key to continue..");
     System.Console.ReadKey();
 }
Ejemplo n.º 3
0
 public int Evaluate(Game game)
 {
     return EvaluateImpl(game, game.Frames);
 }
Ejemplo n.º 4
0
 private static GameFrame Get(Game game, IList<GameFrame> frames, int i)
 {
     if (i < frames.Count)
         return frames[i];
     return new GameFrame(game);
 }
Ejemplo n.º 5
0
 internal GameFrame(Game game)
 {
     Game = game;
 }