// File: ScriptedCar.cpp // // do not alter this file. // #include #include #include "ScriptedCar.h" using namespace std ; ScriptedCar::ScriptedCar() { // no code } ScriptedCar::ScriptedCar ( unsigned int row, // initial row number unsigned int col, // initial column number char label, // label in PrettyPrintCourse unsigned int fuel, // initial fuel level string script // script for moving around ) : Car(row, col, label, fuel), move(0), m_script(script) { // do nothing else } void ScriptedCar::MakeMove() { if (m_script.size() == 0) return ; switch (m_script[move]) { case 'l' : Car::ZoomLeft() ; break ; case 'r' : Car::ZoomRight() ; break ; case 'u' : Car::ZoomUp() ; break ; case 'd' : Car::ZoomDown() ; break ; default : cerr << "Unknown direction!\n" ; break ; } move = (move+1) % m_script.size() ; } void ScriptedCar::ZoomLeft() { MakeMove() ; } void ScriptedCar::ZoomRight() { MakeMove() ; } void ScriptedCar::ZoomUp() { MakeMove() ; } void ScriptedCar::ZoomDown() { MakeMove() ; }