public WhiteChecker CreateWhitePhantom(Coord coord, IGameField gameField)
        {
            WhiteChecker white = new WhiteChecker(new WhiteNormalCheckerState(), null);

            white.CurrentCoord = coord;
            return(white);
        }
        public WhiteChecker CreateWhite(Coord coord, IGameField gameField)
        {
            WhiteChecker white = new WhiteChecker(new WhiteNormalCheckerState(), new CheckerUI());

            white.CurrentCoord = coord;
            (white.checkerUI as CheckerUI).AssignConnectedChecker(white);

            CheckerUI checkerUI = white.checkerUI as CheckerUI;

            checkerUI.CoordChangedFromForm += white.CoordChangedFromForm;
            white.CoordChanged             += gameField.CheckCheckersMovement;

            gameField.Grid[coord.Row][coord.Column] = white;
            Grid.SetColumn(white.checkerUI, coord.Column - 1);
            Grid.SetRow(white.checkerUI, coord.Row - 1);
            gameField.FormGrid.Children.Add(white.checkerUI);
            checkerUI.TryingToMoveToAnotherCell += gameField.MainWindow.TryToMoveCheckerToAnotherCell;
            checkerUI.MovingToAnotherCell       += gameField.MainWindow.MoveCheckerToAnotherCell;
            checkerUI.ConnectedChecker           = white;
            checkerUI.GetVictim += gameField.GetVictim;
            return(white);
        }