Beispiel #1
0
        public MyPosition MoveTowards(MyPosition pos, double speed)
        {
            var dist = Dist(pos);

            if (dist < 0.1)
            {
                return(pos);
            }
            var dx = (pos.X - X) / dist * speed;
            var dy = (pos.Y - Y) / dist * speed;

            return(new MyPosition(X + dx, Y + dy));
        }
Beispiel #2
0
 public void UpdateFrom(MyPosition p)
 {
     X = p.X;
     Y = p.Y;
 }
Beispiel #3
0
 public double Dist(MyPosition p2) => Math.Sqrt(Pow(X - p2.X) + Pow(Y - p2.Y));
Beispiel #4
0
 public double XDist(MyPosition p2) => Math.Abs(X - p2.X);
Beispiel #5
0
 public int GetDx(MyPosition p2) => p2.X > X ? 1 : ((int)p2.X == (int)X)?0:-1;