示例#1
0
        private DecDirections GetOppositeDirection(DecDirections direction)
        {
            switch (direction)
            {
                case DecDirections.Right:
                    return DecDirections.Left;
                case DecDirections.Left:
                    return DecDirections.Right;
                case DecDirections.Up:
                    return DecDirections.Down;
                case DecDirections.Down:
                    return DecDirections.Up;
            }

            return DecDirections.Left;
        }
示例#2
0
        /// <summary>
        /// This method replaces two identical code parts
        /// </summary>
        private Point MoveTo(Point currentPoint, DecDirections direction)
        {
            Point result = currentPoint;
            switch (direction)
            {
                case DecDirections.Down:
                    result.Y++;
                    break;
                case DecDirections.Up:
                    result.Y--;
                    break;
                case DecDirections.Left:
                    result.X--;
                    break;
                case DecDirections.Right:
                    result.X++;
                    break;
            }

            return result;
        }
示例#3
0
 private DecDirections GetNeighborDirection(DecDirections direction, int number)
 {
     switch (direction)
     {
         case DecDirections.Right:
             if (number == 1)
                 return DecDirections.Up;
             else
                 return DecDirections.Down;
         case DecDirections.Left:
             if (number == 1)
                 return DecDirections.Up;
             else
                 return DecDirections.Down;
         case DecDirections.Up:
             if (number == 1)
                 return DecDirections.Left;
             else
                 return DecDirections.Right;
         case DecDirections.Down:
             if (number == 1)
                 return DecDirections.Left;
             else
                 return DecDirections.Right;
     }
     return DecDirections.Left;
 }