Beispiel #1
0
        private bool OperateOnStartingPosition()
        {
            if (!IsValidPosition(StartX, StartY))
            {
                return(false);
            }

            if (ProcessStartAsFirstNeighbour)
            {
                bool startingPositionCausedStop = ProcessNeighbour(StartX, StartY, 0);
                if (startingPositionCausedStop)
                {
                    return(true);
                }
            }
            else
            {
                SetMark(StartX, StartY, 0);
                PositionsToVisit.Enqueue(StartX, StartY);
            }
            return(false);
        }