#ifndef action_h #define action_h // action.h // buzz - Programme du robot Efrei Robotique I1-I2 2003 // Copyright (C) 2003 Nicolas Schodet #include namespace Automate { class Action { public: // Destructeur. virtual ~Action (); // Utilisée une fois, lors de l'activation de l'action. virtual void start (void); // Execute l'action. Renvoie true si terminée. virtual bool run (void); // Utilisée une fois, lors de la désactivation de l'action. virtual void stop (void); }; class ActionPrint : public Action { string m_s; public: // Constructeur. ActionPrint (string &s) : m_s (s) { } // Destructeur. ~ActionPrint (); // Utilisée une fois, lors de l'activation de l'action. void start (void); }; class ActionMotorGoDistance : public Action { int m_d, m_a; public: ActionMotorGoDistance (int d, int a = -1) { m_d = d; m_a = a; } void start (void); }; class ActionMotorTurnAngle : public Action { int m_d, m_a; public: ActionMotorTurnAngle (int d, int a = -1) { m_d = d; m_a = a; } void start (void); }; class ActionServo : public Action { int m_pos; public: ActionServo (int pos) { m_pos = pos; } void start (void); }; class ActionIa : public Action { int m_num; public: ActionIa (int num) { m_num = num; } void start (void); }; class ActionIaVar : public Action { int m_num, m_var; public: ActionIaVar (int var, int num) { m_var = var; m_num = num; } void start (void); }; class ActionInitialisation : public Action { public: // Constructeur ActionInitialisation (void); // Destructeur ~ActionInitialisation () ; void start (void); }; class ActionRepererCouleur : public Action { int m_capteur; public: // Constructeur ActionRepererCouleur (int); // Destructeur ~ActionRepererCouleur () ; void start (void); }; } #endif // action_h