DriveInSquare::DriveInSquare() : CommandGroup("drive in square") { for (int i=0; i<4; i++) { addSequential(new DriveForward()); addSequential(new TurnLeft()); } }
bool StepSolveMaze::isFinished(){ bool groupFinished = CommandGroup::isFinished(); if (groupFinished) { bool mazeSolved = solver->isFinished(); if (!mazeSolved){ addSequential(new Turn(solver->planNextStep())); addSequential(new Forward()); addSequential(new WaitForStart()); solver->mouse->print_maze_mouse(); } else { return true; } return false; } return false; }
WaitThenDrive::WaitThenDrive() : CommandGroup("wait then drive") { addSequential(new WaitForStart()); addSequential(new Forward()); addSequential(new Turn(Direction::W)); addSequential(new Delay(500)); addSequential(new Forward()); //addSequential(new Turn(Direction::S)); //addSequential(new Forward()); //addSequential(new Turn(Direction::W)); //addSequential(new Forward()); //addSequential(new Turn(Direction::N)); //addSequential(new Forward()); //addSequential(new Turn(Direction::W)); //addSequential(new Forward()); //addSequential(new Turn(Direction::S)); //addSequential(new Forward()); //addSequential(new Turn(Direction::W)); //addSequential(new Forward()); //addSequential(new Forward()); //addSequential(new Turn(Direction::N)); //addSequential(new Forward()); }
BackOffReactor::BackOffReactor(int reactorNumber){ this->reactorNumber = reactorNumber; addSequential(new BackOffTube(-60,-60)); addSequential(new TurnToNextLine()); }