예제 #1
0
        /// <summary>
        /// 根据分段比例调节速度
        /// </summary>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <param name="speed"></param>
        /// <returns></returns>
        private HostarSpeed GetSpeed(double start, double end, HostarSpeed speed)
        {
            double dist = Math.Abs(end - start);
            double rate = 1;

            if (dist < 10)
            {
                rate = 0.7;
            }
            else if (dist < 20)
            {
                rate = 0.8;
            }
            else if (dist < 40)
            {
                rate = 0.9;
            }

            HostarSpeed newSpeed = new HostarSpeed();

            newSpeed.StartSpeed = speed.StartSpeed * rate;
            newSpeed.MaxSpeed   = speed.MaxSpeed * rate;
            newSpeed.AccTime    = speed.AccTime;
            newSpeed.DecTime    = speed.DecTime;
            return(newSpeed);
        }
예제 #2
0
 private void SetHostarSpeed()
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new Action(() =>
         {
             this.SetHostarSpeed();
         }));
     }
     else
     {
         if (this.hostarSpeed == null)
         {
             this.hostarSpeed = new HostarSpeed();
         }
         this.teStartSpeed.Text = this.hostarSpeed.StartSpeed.ToString();
         this.teMaxSpeed.Text   = this.hostarSpeed.MaxSpeed.ToString();
         this.teAcc.Text        = this.hostarSpeed.AccTime.ToString();
         this.teDec.Text        = this.hostarSpeed.DecTime.ToString();
     }
 }