protected virtual void BoardUpdatNotify(IsBoardChangedEvent e)
 {
     if (IsBoardChanged != null)
     {
         IsBoardChanged.Invoke(this, e);
     }
 }
        private void BoardUpdate(Move i_Move)
        {
            IsBoardChangedEvent e = new IsBoardChangedEvent();

            e.Move         = i_Move;
            e.SignOfEndPos = m_Board[i_Move.EndRow, i_Move.EndCol];
            e.IsCanEat     = IsCanEat(i_Move);
            if (e.IsCanEat)
            {
                e.ClearLastRowPos = (i_Move.StartRow + i_Move.EndRow) / 2;
                e.ClearLastColPos = (i_Move.StartCol + i_Move.EndCol) / 2;
            }

            BoardUpdatNotify(e);
        }