public CheckerBoard(CheckerBoard i_CloneToThisBoard)
        {
            Player otherFirstPlayer  = i_CloneToThisBoard.m_CurrentPlayer;
            Player otherSecondPlayer = i_CloneToThisBoard.m_OtherPlayer;

            m_CurrentPlayer = new Player(i_CloneToThisBoard.CurrentPlayer.PlayerName, otherFirstPlayer.TypeOfPlayer, otherFirstPlayer.NumberOfPlayer, i_CloneToThisBoard.m_SizeOfBoard);
            m_OtherPlayer   = new Player(otherSecondPlayer.PlayerName, otherSecondPlayer.TypeOfPlayer, otherSecondPlayer.NumberOfPlayer, i_CloneToThisBoard.m_SizeOfBoard);
            m_SizeOfBoard   = i_CloneToThisBoard.m_SizeOfBoard;
            m_GameEndChoice = i_CloneToThisBoard.m_GameEndChoice;
            m_GameStatus    = i_CloneToThisBoard.m_GameStatus;
            m_MovmentOption = i_CloneToThisBoard.m_MovmentOption;
            if (i_CloneToThisBoard.m_SoliderThatNeedToEatNextTurn != null)
            {
                m_SoliderThatNeedToEatNextTurn = new Soldier(i_CloneToThisBoard.m_SoliderThatNeedToEatNextTurn.CharRepresent, i_CloneToThisBoard.m_SoliderThatNeedToEatNextTurn.PlaceOnBoard, i_CloneToThisBoard.m_SoliderThatNeedToEatNextTurn.TypeOfSoldier);
            }

            m_CurrentPlayer.Soldiers = addSoldiers(m_CurrentPlayer.Soldiers);
            m_OtherPlayer.Soldiers   = addSoldiers(m_OtherPlayer.Soldiers);
        }
        private void initializeStartCheckerBoard()
        {
            String     firstPlayerName, secondPlayerName;
            eSizeBoard sizeOfBoard;

            UIUtilities.getClientNamesAndTypeOfSecondPlayer(out firstPlayerName, out secondPlayerName, out sizeOfBoard);
            m_CurrentPlayer = new Player(firstPlayerName, eTypeOfPlayer.Human, eNumberOfPlayer.First, sizeOfBoard);
            m_SizeOfBoard   = sizeOfBoard;
            if (secondPlayerName == null)
            {
                m_OtherPlayer = new Player(Player.k_computerName, eTypeOfPlayer.Computer, eNumberOfPlayer.Second, sizeOfBoard);
            }
            else
            {
                m_OtherPlayer = new Player(secondPlayerName, eTypeOfPlayer.Human, eNumberOfPlayer.Second, sizeOfBoard);
            }

            m_MovmentOption = new MovementOptions(m_SizeOfBoard);
        }