summaryrefslogtreecommitdiff
path: root/2003/i/buzz/src/automate/receptivite.cc
diff options
context:
space:
mode:
Diffstat (limited to '2003/i/buzz/src/automate/receptivite.cc')
-rw-r--r--2003/i/buzz/src/automate/receptivite.cc50
1 files changed, 50 insertions, 0 deletions
diff --git a/2003/i/buzz/src/automate/receptivite.cc b/2003/i/buzz/src/automate/receptivite.cc
new file mode 100644
index 0000000..44accea
--- /dev/null
+++ b/2003/i/buzz/src/automate/receptivite.cc
@@ -0,0 +1,50 @@
+// 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;
+}
+
+}