public void Test(string board, ClassicMovement bestMovement, int recursionDepth)
        {
            var state = TestHelper.CreateState(board, 50, 50, 0, 0, 0, 0);
            var Ai = new ClassicAI(state);
            Ai.maxRecursionDepth = recursionDepth;
            var movement = Ai.GetGoodMovement(Ai.maxRecursionDepth);

            Assert.That(bestMovement, Is.EqualTo(movement));
        }
        /// <summary>
        /// Распознаёт открытый клиент игры по скриншоту.
        /// Анализирует состояние игры и делает ход при помощи мыши.
        /// </summary>
        /// <returns>Было ли состояние игры распознано как корректное</returns>
        public bool MakeMovement()
        {
            start = Stopwatch.StartNew();

            var screen = GetScreenshot();
            Logger.Log(screen);

            gameState = GetGameState(screen);
            if (gameState == null)
            {
                List<Point> closes = templatesStorage.GetPositions("Close", screen, true);
                if (closes.Count > 0)
                {
                    Mouse.Move(closes[0]);
                    Thread.Sleep(200);
                    Mouse.LeftClick();
                    Thread.Sleep(200);
                    Mouse.Move(0, 0);
                    return true;
                }
                else
                {
                    closes = templatesStorage.GetPositions("RandomPlayerGame", screen, true);
                    if (closes.Count > 0)
                    {
                        Mouse.Move(closes[0]);
                        Thread.Sleep(200);
                        Mouse.LeftClick();
                        Thread.Sleep(200);
                        Mouse.Move(0, 0);
                        Thread.Sleep(5000);
                        return true;
                    }
                }
                return false;
            }

            var Ai = new ClassicAI(gameState);
            var movement = Ai.GetGoodMovement(3);

            MakeMovement(movement);
            Logger.Log(movement);
            return true;
        }