-
Notifications
You must be signed in to change notification settings - Fork 1
/
clock.h
88 lines (55 loc) · 1.58 KB
/
clock.h
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
// clock.hpp ///////////////////////////////////////////////////////////////////
// The timeclock object for the table hockey game, /////////////////////////////
// interfaces with the adafruit lcd libraries //////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//#include <std_files>
//#include "Headers.h"
//#include "Source.c"
//#include "Headers.hpp"
//#include "Source.cpp"
#include <stdlib.h>
#ifndef ClOcK
#define ClOcK
#include "environment.h"
bool Flip(bool input);
bool Equal(score team1, score team2);
enum player {home, away};
class Period
{
public:
Period();
Period(seconds init_time, int period_minutes);
Period(int period_minutes);
Period(const Period& other);
Period operator = (const Period p);
private:
seconds Time;
bool clockRunning;
bool periodStarted;
bool periodEnded;
score homeScore, awayScore;
// score for this period, so we can have period by period
// stats
// slightly misleading name here I guess
public:
void setPeriodTime(seconds new_time);
void Update(seconds deltat);
seconds getPeriodTime();
bool periodOver();
void endPeriod();
// manually force period to end, ie overtime goal
bool isPeriodStarted();
score getHomeScore();
score getAwayScore();
void Faceoff();
// as a true canadian, yes I hear a whistle in my head when typing
// this
void Goal(player scoredBy);
bool clockIsRunning();
void stopClock();
// generic one, regardless of what event triggered the clock to stop
void startClock();
String getClockOutput();
~Period();
};
#endif