#ifndef receptivite_h #define receptivite_h // receptivite.h // buzz - Programme du robot Efrei Robotique I1-I2 2003 // Copyright (C) 2003 Nicolas Schodet #include "expression.h" namespace Automate { class Receptivite { public: // Destructeur. virtual ~Receptivite (); // Retourne la valeur de la receptivité. virtual bool test (void) = 0; }; class ReceptiviteBool : public Receptivite { bool m_bool; public: // Constructeur. ReceptiviteBool (bool _bool) { m_bool = _bool; } // Destructeur. ~ReceptiviteBool (); // Retourne la valeur de la receptivité. bool test (void); }; class ReceptiviteBoolOp : public Receptivite { char m_op; Receptivite *m_left, *m_right; public: // Constructeurs. ReceptiviteBoolOp (Receptivite *left, char op, Receptivite *right) { m_left = left; m_op = op; m_right = right; } ReceptiviteBoolOp (char op, Receptivite *right) { m_left = 0; m_op = op; m_right = right; } // Destructeur. ~ReceptiviteBoolOp (); // Retourne la valeur de la receptivité. bool test (void); }; class ReceptiviteCmpOp : public Receptivite { char m_op; Expression *m_left, *m_right; public: // Constructeurs. ReceptiviteCmpOp (Expression *left, char op, Expression *right) { m_left = left; m_op = op; m_right = right; } ReceptiviteCmpOp (char op, Expression *right) { m_left = 0; m_op = op; m_right = right; } // Destructeur. ~ReceptiviteCmpOp (); // Retourne la valeur de la receptivité. bool test (void); }; class ReceptMotorFinnish : public Receptivite { public: bool test (void); }; class ReceptPaletTrouve : public Receptivite { public: bool test (void); }; class ReceptCapteurs : public Receptivite { int m_mask; public: ReceptCapteurs (int m_mask); bool test (void); }; /*Ajout des conditions du grafcet, un objet par condition*/ class ReceptInit : public Receptivite { public: // Destructeur. ~ReceptInit (); // Retourne la valeur de la receptivité. bool test (void); }; class ReceptCouleurAdverse : public Receptivite { int m_capteur; public: // Constructeur. ReceptCouleurAdverse (int _capteur) { m_capteur = _capteur; } // Destructeur. ~ReceptCouleurAdverse (); // Retourne la valeur de la receptivité. bool test (void); }; } #endif // receptivite_h