#ifndef ai_hh #define ai_hh // ai.hh // marvin - programme du robot 2006. {{{ // // Copyright (C) 2006 Nicolas Haller // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // Contact : // Web: http://perso.efrei.fr/~haller/ // Email: // }}} /// Intelligence supérieur(à celui d'une balle de ping-pong) artificielle /// (comme une blonde) du robot. class Ai { private: // Modules de contrôles du robot Motor motor_; Es es_; // Le scheduler scheduler::Scheduler scheduler_; scheduler::SchedulableReadFd schedulableMotor_; scheduler::SchedulableReadFd schedulableEs_; // Paramètres générales du robot const int RoundDuration_; public: /// Constructeur Ai(const Config & config); /// Destructeur du robot ~Ai(void); /// Initialisation du robal void init(void); /// Arrête complêtement le robot void stop(void); /// Fonction de tempo /// XXX Vérifier que ce soit bien des milisec void temporisation (int msec); /// Attend le jack rentre(false) ou sorte (true) void waitJack (bool out); /// Attend une mise à jour... bool update (void); /// La célèbre fonction sync bool sync (void); }; #endif // ai_hh