* The default autonomous strategy involves passing the defense that is in front
* of it, aiming the robot/ shooter towards the goal, and shooting.
*/
+
public class DefaultAutonStrategy extends CommandGroup {
public DefaultAutonStrategy(int position, Defense defense) {
- /*
- * pass defense drive forward do what has to be done to pass the defense
- * drive forward aim face tower aim shooter toward goal shoot
- */
-
- // TODO: any variable that is not declared/instantiated are vars that need
- // to be tested for their value
switch (defense) {
+
case PORTCULLIS:
- // we are assuming that the robot is also driving forward as the
- // portcullis is being lifted
+
addSequential(new LiftPortcullis());
+
case SALLY_PORT:
- // addSequential();
+
+ addSequential(new PassSallyPort());
+
case ROUGH_TERRAIN:
- addSequential(new DriveForDistance(distance, speed));
+ addSequential(new PassRoughTerrain());
case LOW_BAR:
- addSequential(new DriveForDistance(distance, speed));
+ addSequential(new PassLowBar());
case CHEVAL_DE_FRISE:
- addSequential(new LowerChevalDeFrise());
+ addSequential(new PassChevalDeFrise());
case DRAWBRIDGE:
- addSequential(new LowerDrawBridge());
+ addSequential(new PassDrawBridge());
case MOAT:
- addSequential(new DriveForDistance(distance, speed));
+ addSequential(new PassMoat());
case ROCK_WALL:
- addSequential(new DriveForDistance(distance, speed));
+ addSequential(new PassRockWall());
case RAMPART:
- addSequential(new DriveForDistance(distance, speed));
+ addSequential(new PassRampart());
default:
break;
}
+ addSequential(new AimAndAlign());
+ addSequential(new Shoot());
+
}
}