Пример #1
0
        public void OneMoveWinTest()
        {
            var balls = new List <Ball>
            {
                new Ball(1, new Point(2, 0)),
                new Ball(2, new Point(2, 1)),
                new Ball(3, new Point(2, 2)),
            };
            var holes = new List <Hole>
            {
                new Hole(1, new Point(0, 0)),
                new Hole(2, new Point(0, 1)),
                new Hole(3, new Point(0, 2)),
            };
            var f      = new Field(3, balls, holes);
            var result = _tiltPlayer.GetWinningStrategy(f);

            Assert.AreEqual(GameState.Win, result.state);
            Assert.AreEqual(1, result.directions.Count);
            Assert.AreEqual(result.directions.FirstOrDefault(), TiltDirection.West);
        }
Пример #2
0
 static void Main(string[] args)
 {
     try
     {
         IFieldProvider fp    = new FieldProvider();
         var            field = fp.GetField();
         //TODO use logger interface instead of direct Console.WriteLine
         Console.WriteLine(field.ToString());
         TiltPlayer player = new TiltPlayer();
         var        result = player.GetWinningStrategy(field);
         Console.WriteLine(result.ToFormattedString());
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }