reverse(1); //reverse back motor
motorSpeed(2,40); //set front motor to 40% power
motorSpeed(1,40); //set back motor to 40% power
goToAbsolutePosition(142); //run at current speed until reaching absolute position 142 marks
brake(4); //brake both of motors
while(getVehiclePostion()<295){
} //coast until reaching absolute position 295 marks
//power braking
reverse(1);
motorSpeed(1,50);
goFor(0.5);
//wait in front of gate for 7.5 seconds
motorSpeed(4,0);
goFor(7.5);
reverse(1); //reverse back motor
motorSpeed(4,30); //set both of motors to 30% power
goToAbsolutePosition(440); //run at current speed until reaching absolute position 440 marks
brake(4); //brake both of motors
while(getVehiclePostion()<624){
} //coast until reaching absolute position 624 marks
//power braking
reverse(1);
motorSpeed(1,50);
goFor(1);
//connect with cargo train and wait at loading zone for 5.5 seconds
motorSpeed(4,0);
goFor(5.5);
reverse(2); //reverse front motor
motorSpeed(4,53); //set both of motors to 53% power
goToAbsolutePosition(457); //run at current speed until reaching absolute position 457 marks
brake(4); //brake both of motors
while(getVehiclePostion()>358){
}//coast until reaching absolute position 358 marks
//power braking
reverse(2);
motorSpeed(2,50);
goFor(1.5);
//wait in front of gate for 7.5 seconds
motorSpeed(4,0);
goFor(7.5);
reverse(2); //reverse front motor
motorSpeed(4,43); //set both of motors to 43% power
goToAbsolutePosition(165); //run at current speed until reaching absolute position 165 marks
brake(4);//brake both of motors
while(getVehiclePostion()>37){
}//coast until reaching absolute position 37 marks
//power braking
reverse(4);
motorSpeed(4,45);
goFor(1.5);