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)); }
/// <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)); }
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); }
/// <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); }
public bool IsInLocation(MapField field) { return Location.Contains(field); }