public Construct(uint x, uint y, MapField baseField, Color color) {
			Size = new Vector2u(x, y);
			Location = new MapFieldList(this);
			BaseField = baseField;
			color_ = color;
			newColor_ = color;
			SetTextureFromColor();
			BuildJob = new ConstructingJob(this);
		}
			/// <summary>
			/// Metryka zerowa.
			/// </summary>
			/// <param name="from">Pierwsze pole</param>
			/// <param name="to">Drugie Pole</param>
			/// <returns>Zawsze zwraca zero</returns>
			public static float NullDistance(MapField from, MapField to) {
				return 0f;
			}
			/// <summary>
			/// Odleglosc w metryce Manhatan miedzy dwoma polami mapy.
			/// </summary>
			/// <param name="from">Pierwsze pole</param>
			/// <param name="to">Drugie Pole</param>
			/// <returns>Odleglosc miedzy polami</returns>
			public static float ManhattanDistance(MapField from, MapField to) {
				return Abs(from.MapPosition.X - to.MapPosition.X) + Abs(from.MapPosition.Y - to.MapPosition.Y);
			}
			/// <summary>
			/// Odleglosc w metryce euklidesowej miedzy dwoma polami mapy.
			/// </summary>
			/// <param name="from">Pierwsze pole</param>
			/// <param name="to">Drugie Pole</param>
			/// <returns>Odleglosc miedzy polami</returns>
			public static float EuclideanDistance(MapField from, MapField to) {
				return (float)Sqrt((from.MapPosition.X - to.MapPosition.X) * (from.MapPosition.X - to.MapPosition.X) +
								   (from.MapPosition.Y - to.MapPosition.Y) * (from.MapPosition.Y - to.MapPosition.Y));
			}
Esempio n. 5
0
 /// <summary>
 /// Przeładowana funkcja z klasy object sprawdzająca rownosc pol.
 /// </summary>
 /// <returns>''true' jesli pola sa tym samym polem, w przeciwnym wypadku 'false'</returns>
 public bool Equals(MapField other)
 {
     return(MapPosition.Equals(other.MapPosition));
 }
Esempio n. 6
0
		public static float Distance(MapField from, MapField to) {
			return (float)Round(Sqrt((from.MapPosition.X - to.MapPosition.X) *
									 (from.MapPosition.X - to.MapPosition.X) +
									 (from.MapPosition.Y - to.MapPosition.Y) *
									 (from.MapPosition.Y - to.MapPosition.Y)), 4);
		}
Esempio n. 7
0
	    /// <summary>
        /// Przeładowana funkcja z klasy object sprawdzająca rownosc pol.
        /// </summary>
        /// <returns>''true' jesli pola sa tym samym polem, w przeciwnym wypadku 'false'</returns>
        public bool Equals(MapField other) {
            return MapPosition.Equals(other.MapPosition);
        }
Esempio n. 8
0
 public bool IsInLocation(MapField field)
 {
     return Location.Contains(field);
 }