// date.cc // buzz - Programme du robot Efrei Robotique I1-I2 2003 // Copyright (C) 2003 Nicolas Schodet // #include "date.h" #include #include // Pointeur vers l'instance unique. Date *Date::m_instance = 0; // Constructeur. Date::Date (void) { m_start = getDate (); m_round = -1; m_instance = this; } // Destructeur. Date::~Date (void) { m_instance = 0; } // Signale le début du match. void Date::startRound (void) { m_round = getDate (); } // Retourne la date système. int Date::getDate (void) { timeval tv; gettimeofday (&tv, 0); // Ça veut dire, un bug tous les 11 jours... // Cette année : le 26/05/2003, et le 06/05/2003. Mais le robot n'est pas // à l'heure de toue façon. return (tv.tv_sec % 1000000) * 1000 + tv.tv_usec / 1000; } // Attend un nombre de millisecondes. void Date::wait (int t) { timespec ts, r; ts.tv_sec = t / 1000; ts.tv_nsec = t * 1000000; nanosleep (&ts, &r); }