// ================================================================= // main.cpp (for pelican crossing program) // ================================================================= #include "ConsolePoleVisitor.h" #include "Keyboard.h" #include "Pelican.h" #include "Pole.h" #include "PowerVisitor.h" #include "TimerSet.h" #include // provides toupper() int main() { Keyboard kbd; Pelican thePelican; Pole pole1(20, 0, thePelican); thePelican.attach(pole1); ConsolePoleVisitor cp1(pole1); pole1.attach(cp1); Pole pole2(40, 0, thePelican); thePelican.attach(pole2); ConsolePoleVisitor cp2(pole2); pole2.attach(cp2); char c = 0; while (std::toupper(c) != 'Q') { // loop until 'Q' is pressed c = kbd.getChar(); // get the character if (c == ' ') { // it's a space, so press the WAIT button thePelican.press(); } else if (c == 'p') { PowerVisitor pv; pv.calculatePower(pole1); } } return 0; }