private Position GetRandom(int distance, Random rnd) { var angle = rnd.NextDouble() * Math.PI * 2; var x = this.X + distance * Math.Cos(angle); var y = this.Y + distance * Math.Sin(angle); return new Position((int)x, (int)y); }