Inside Track V2

motorSpeed(4,25); 
  while (getVehiclePostion() < 335) { 
    if (getVehiclePostion() > 290 && getVehicleDirection() == 1) { 
      reverse(4); 
      while(getVehicleDirection() > 0) { 
          motorSpeed(4,30); 
      } 
    } 
  } 
  brake(4); 
  goFor(7); 
  motorSpeed(4,25); 
  if (getVehicleDirection() == 0) { 
    reverse(4); 
    motorSpeed(4,25); 
  } 
  while (getVehiclePostion() < 775) { 
    if (getVehiclePostion() > 715 && getVehicleDirection() == 1) { 
      reverse(4); 
      while(getVehicleDirection() > 0) { 
          motorSpeed(4,35); 
      } 
    } 
  } 
 
  brake(4); 
  goFor(5); 
  motorSpeed(4,50); 
  if (getVehicleDirection() != 0) { 
    reverse(4); 
    motorSpeed(4,50); 
  } 
  while (getVehiclePostion() > 495) { 
    if (getVehiclePostion() < 545 && getVehicleDirection() == 0) { 
      reverse(4); 
      while(getVehicleDirection() == 0) { 
          motorSpeed(4,40); 
      } 
    } 
  } 
 
  brake(4); 
  goFor(7); 
  motorSpeed(4,55); 
  if (getVehicleDirection() != 0) { 
    reverse(4); 
    motorSpeed(4,55); 
  } 
  while (getVehiclePostion() > 10) { 
    if (getVehiclePostion() < 50 && getVehicleDirection() == 0) { 
      reverse(4); 
      while(getVehicleDirection() == 0) { 
          motorSpeed(4,55); 
      } 
    } 
  } 
  brake(4);