// receptivite.cc // buzz - Programme du robot Efrei Robotique I1-I2 2003 // Copyright (C) 2003 Nicolas Schodet // #include "receptivite.h" namespace Automate { // Destructeur. Receptivite::~Receptivite () { } // Destructeur. ReceptiviteBool::~ReceptiviteBool () { } // Retourne la valeur de la receptivité. bool ReceptiviteBool::test (void) { return m_bool; } // Destructeur. ReceptiviteBoolOp::~ReceptiviteBoolOp () { if (m_left) delete m_left; if (m_right) delete m_right; } // Retourne la valeur de la receptivité. bool ReceptiviteBoolOp::test (void) { switch (m_op) { case '.': return m_left->test () && m_right->test (); case '+': return m_left->test () || m_right->test (); case '!': return ! m_right->test (); } return false; } // Destructeur. ReceptiviteCmpOp::~ReceptiviteCmpOp () { if (m_left) delete m_left; if (m_right) delete m_right; } // Retourne la valeur de la receptivité. bool ReceptiviteCmpOp::test (void) { switch (m_op) { case '=': return m_left->val () == m_right->val (); case 'n': return m_left->val () != m_right->val (); case 'l': return m_left->val () <= m_right->val (); case 'g': return m_left->val () >= m_right->val (); case '<': return m_left->val () < m_right->val (); case '>': return m_left->val () > m_right->val (); } return false; } }