asmrobot
2019-11-25 2aeab450471cb80b59002da7da80faf251a0c4f4
src/RichCreator.Utility/Dnf/SpeedProvider.cs
@@ -11,6 +11,11 @@
    /// </summary>
    public class SpeedProvider
    {
        /// <summary>
        /// 随机移动距离
        /// </summary>
        public const Int32 RandomMoveDistance = 100;
        public static SpeedProvider Define = new SpeedProvider(1400);
        public SpeedProvider(Int32 speed)
        {
@@ -19,33 +24,33 @@
            double runPixelPerSpeedX = 0;//跑 X每个速度一秒移动的像素数
            if (speed <= 1109)
            {
                stepPixelPerSpeedX = 160d/1109d;
                stepPixelPerSpeedY = 127d/1109d;
                runPixelPerSpeedX =  260d/1109d;
                stepPixelPerSpeedX = 160d / 1109d;
                stepPixelPerSpeedY = 127d / 1109d;
                runPixelPerSpeedX = 260d / 1109d;
            }
            else if (speed > 1109 && speed <= 1151)
            {
                stepPixelPerSpeedX = 166.5d/1151d;
                stepPixelPerSpeedY = 131d/1151d;
                runPixelPerSpeedX = 267.7d/1151d;
                stepPixelPerSpeedX = 166.5d / 1151d;
                stepPixelPerSpeedY = 131d / 1151d;
                runPixelPerSpeedX = 267.7d / 1151d;
            }
            else if (speed > 1151 && speed <= 1256)
            {
                stepPixelPerSpeedX = 180d/1256d;
                stepPixelPerSpeedY = 142.5d/1256d;
                runPixelPerSpeedX = 284.5d/1256d;
                stepPixelPerSpeedX = 180d / 1256d;
                stepPixelPerSpeedY = 142.5d / 1256d;
                runPixelPerSpeedX = 284.5d / 1256d;
            }
            else if (speed > 1256 && speed <= 1400)
            {
                stepPixelPerSpeedX = 194.5d/1400d;
                stepPixelPerSpeedY = 156.5d/1400d;
                runPixelPerSpeedX = 320d/1400d;
                stepPixelPerSpeedX = 194.5d / 1400d;
                stepPixelPerSpeedY = 156.5d / 1400d;
                runPixelPerSpeedX = 320d / 1400d;
            }
            else
            {
                stepPixelPerSpeedX = 194.5d / 1400d;
                stepPixelPerSpeedY = 156.5d / 1400d;
                runPixelPerSpeedX = 320d/ 1400d;
                runPixelPerSpeedX = 320d / 1400d;
            }
            stepX = (stepPixelPerSpeedX * speed) / 1000;
@@ -53,19 +58,16 @@
            runX = (runPixelPerSpeedX * speed) / 800;
            RunThresold = stepX * RandomUtils.KeyPressDurationMax +runX * RandomUtils.KeyPressDurationMax+50;
            RandomMoveMillSecond = (Int32)(300 / stepX);
            RunThresold = stepX * RandomUtils.KeyPressDurationMax + runX * RandomUtils.KeyPressDurationMax + 50;
        }
        /// <summary>
        /// 开始跑的阀值
        /// </summary>
        public double RunThresold { get; private set; }
        //随机移动时间
        public Int32 RandomMoveMillSecond { get; private set; }
        private double stepX;
        /// <summary>
        /// 步行X轴速度