示例#1
0
        /// <summary>
        /// Formats co-ordinate data.
        /// </summary>
        /// <param name="coord">incoming data example: "POINT (13.4321 47.5678)"</param>
        /// <param name="coordStatus">example: "(13.4321°; 47.5678°)"</param>
        /// <returns></returns>
        public static string Format(string coord, string coordStatus)
        {
            string result = string.Empty;

            CoordinateStatus status = (CoordinateStatus)Enum.Parse(typeof(CoordinateStatus), coordStatus, true);

            switch (status)
            {
            case CoordinateStatus.Valid:
            {
                // incoming data example: "POINT (13.4321 47.5678)"
                // outgoing data example: "(13.4321*; 47.5678*)"
                //   where * is degrees symbol

                string   coordStripped = coord.Replace("POINT ", "").Replace("(", "").Replace(")", "");
                string[] xy            = coordStripped.Split(' ');
                result = String.Format("({0}{2}; {1}{2})", xy[0], xy[1], DEGREES);
                break;
            }

            default:
            {
                result = NO_DATA_INDICATOR;
                break;
            }
            }

            return(result);
        }
示例#2
0
 public void UpdateMatrix(List <Coordinates> shipCoordinates, CoordinateStatus status)
 {
     foreach (var coordinates in shipCoordinates)
     {
         var kvp = Matrix.Where(x => x.Key.XCoordinate == coordinates.XCoordinate && x.Key.YCoordinate == coordinates.YCoordinate).FirstOrDefault();
         Matrix[kvp.Key] = status;
     }
 }
示例#3
0
        public void UpdateMatrix(Coordinates coordinates, CoordinateStatus status)
        {
            var kvp = Matrix.Where(x => x.Key.XCoordinate == coordinates.XCoordinate && x.Key.YCoordinate == coordinates.YCoordinate).FirstOrDefault();

            Matrix[kvp.Key] = status;
        }
示例#4
0
 public static string Read(CoordinateStatus status)
 {
     return(CoordinateStatusLabels[(int)status]);
 }
示例#5
0
 public void Hit()
 {
     Status = CoordinateStatus.Hit;
 }
示例#6
0
 public Coordinate(int row, int column)
 {
     Location = new Point(row, column);
     Status   = CoordinateStatus.Active;
 }