summaryrefslogtreecommitdiff
path: root/2003/i/buzz/src/date/date.h
blob: a86916e3ecaa69b55401fc739fce8be59ccdd862 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef date_h
#define date_h
// date.h
// buzz - Programme du robot Efrei Robotique I1-I2 2003
// Copyright (C) 2003 Nicolas Schodet

class Date
{
    // On travaille en milli�me de seconde, �a nous fait 24 jours dans un int.
    int m_start, m_round;
    // Pointeur vers l'instance unique.
    static Date *m_instance;
  public:
    // Constructeur.
    Date (void);
    // Destructeur.
    ~Date (void);
    // Retourne une r�f�rence vers l'instance unique.
    static Date &getInstance (void) { return *m_instance; }
    // Retourne la date depuis le d�but du match, en milli�me de secondes.
    int round (void) { return m_round == -1 ? 0 : getDate () - m_round; }
    // Retourne la date depuis le d�but du programme.
    int start (void) { return getDate () - m_start; }
    // Signale le d�but du match.
    void startRound (void);
    // Attend un nombre de millisecondes.
    static void wait (int t);
  private:
    // Retourne la date syst�me.
    int getDate (void);
};

#endif // date_h