37 char getMenuInput(
int& selected);
47 char getSettingsInput(
int& selected);
57 void wait(
double seconds);
74 void checkTimerInput(
Timer &timer,
bool &run);
84 void checkStopwatchInput(
Stopwatch &stopwatch,
bool &run);
94 void checkAlarmInput(
Alarm& alarm,
bool& run);
103 void mainMenu(
int selected);
112 void settingsMenu(
int selected);
132 void timerSequence();
137 void stopwatchSequence();
142 void alarmSequence();
153 Timer createTimer(
bool& run);
164 Alarm createAlarm(
bool& run);
175 void printTimerInput(
int,
int,
int);
186 void printArt(vector<string> art,
string formatting);
200 vector<string> _logoArt = {
202 " &&&&&&&&&&&&&&&& ",
204 " &&&&&& &&&&&&&&&&&&& &&&&&& &&&&&&& &&&&&&&& &&&&&&&&&&& &&&&&&&&&&&&& ",
205 " &&&&&% &&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&& &&&&&&&&&&&&&&& ",
206 " &&&&&& &&&&&& &&&&&& &&&&&& &&&&&& &&&&&& &&&&&& &&&&&& &&&&& &&&&&& ",
207 " &&&&&& &&&&&&&&&&&&&&& &&&&&& &&&&&&& &&&&&& &&&&&& &&&&&& &&&&&& &&&&&& ",
208 " &&&&&&& &&&&&& &&&&&& &&&&&& &&&&&& &&&&&&& &&&&&& &&&&&& &&&&&& ",
209 " &&&&&& &&&&&&& &&&& &&&&&& &&&&&&# &&&&&& &&&&&&&&&&&&&&& &&&&&&&&&&&&&&& ",
210 " &&&&&&& %&&&&&&&&&&&&& &&&&&& &&&&&& #&&&&&& &&&&&&&&&&&& &&&&&&&&&&&& ",
212 " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
213 " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
218 vector<string> _credits = {
219 "-------------------------------------",
221 "-------------------------------------",
222 " A lightweight timer, stopwatch,",
223 " and alarm terminal app.",
224 "-------------------------------------",
230 "-------------------------------------",
232 " Press any key to continue...",
235 vector<string> _menuArt = {
237 " |\\/| /\\ | |\\ | |\\/| |_ |\\ | | | ",
238 " | | /--\\ _|_ | \\| | | |_ | \\| |_| ",
239 "________________________________________________",
243 vector<string> _menuTimer = {
245 " /| o | | |\\/| |_ |_) ",
246 " | o | _|_ | | |_ | \\ ",
249 vector<string> _menuStopwatch = {
250 " _ __ ___ _ _ ___ _ ",
251 " ) o (_ | / \\ |_) \\ / /\\ | / |_| ",
252 " /_ o __) | \\_/ | \\/\\/ /--\\ | \\_ | | ",
255 vector<string> _menuAlarm = {
257 " _) o /\\ | /\\ |_) |\\/| ",
258 " _) o /--\\ |_ /--\\ | \\ | | ",
261 vector<string> _menuSettings = {
262 " __ __ _ ___ ___ ___ __ __ ",
263 "(_ o (_ |_ | | | |\\ | /__ (_ ",
264 "__) o __) |_ | | _|_ | \\| \\_| __) ",
267 vector<string> _menuQuit = {
269 "/ \\ o / \\ | | | | ",
270 "\\_X o \\_X |_| _|_ | ",
273 vector<string> _menuBlank = {
308 vector<string> _settingsArt = {
309 " __ _ ___ ___ ___ __ __ ",
310 " (_ |_ | | | |\\ | /__ (_ ",
311 " __) |_ | | _|_ | \\| \\_| __) ",
312 "____________________________________ ",
316 vector<string> _settingsFont1 = {
319 " _ ___ __ ___ ___ _ _ ___ \\_$$ | ",
320 " /| o | \\ | /__ | | |_ / \\ |\\ | | __ $$ | ",
321 " | o |_/ _|_ \\_| _|_ | | \\_/ | \\| | $$ | ",
327 vector<string> _settingsFont2 = {
328 " _ ___ __ ___ ___ _ _ ___ _ ",
329 " /| o | \\ | /__ | | |_ / \\ |\\ | | __ ) ",
330 " | o |_/ _|_ \\_| _|_ | | \\_/ | \\| | /_ ",
333 vector<string> _settingsFont3 = {
337 " _ ___ __ ___ ___ _ _ ___ .-' / ",
338 " /| o | \\ | /__ | | |_ / \\ |\\ | | __ '. \\ ",
339 " | o |_/ _|_ \\_| _|_ | | \\_/ | \\| | ___ \\ ' ",
344 vector<string> _settingsFont4 = {
347 " _ ___ __ ___ ___ _ _ ___ d8P 888 ",
348 " /| o | \\ | /__ | | |_ / \\ |\\ | | __ d8P 888 ",
349 " | o |_/ _|_ \\_| _|_ | | \\_/ | \\| | d88 888 ",
355 vector<string> _settingsNotiOn = {
356 " _ _ ___ ___ _ ___ _ ___ ___ _ __ _ ",
357 " ) o |\\ | / \\ | | |_ | / /\\ | | / \\ |\\ | (_ __ / \\ |\\ | ",
358 " /_ o | \\| \\_/ | _|_ | _|_ \\_ /--\\ | _|_ \\_/ | \\| __) \\_/ | \\| ",
361 vector<string> _settingsNotiOff = {
362 " _ _ ___ ___ _ ___ _ ___ ___ _ __ _ _ _ ",
363 " ) o |\\ | / \\ | | |_ | / /\\ | | / \\ |\\ | (_ __ / \\ |_ |_ ",
364 " /_ o | \\| \\_/ | _|_ | _|_ \\_ /--\\ | _|_ \\_/ | \\| __) \\_/ | | ",
367 vector<string> _settingsCredits = {
368 " _ _ _ _ _ ___ ___ __ ",
369 " _) o / |_) |_ | \\ | | (_ ",
370 " _) o \\_ | \\ |_ |_/ _|_ | __) ",
373 vector<string> _settingsBack = {
375 "/ \\ o |_) /\\ / |/ ",
376 "\\_X o |_) /--\\ \\_ |\\ ",
380 vector<string> _settingsBlank = {
415 vector<string> _stopMessages = {
416 "EXACTLY ON THE DOT! YOU MUST BE A TIME WIZARD.",
417 "THERE'S NO WAY YOU MEANT TO DO THAT...",
418 "YOU'VE ACHIEVED STOPWATCH ZEN.",
419 "IF YOU DID THAT ON PURPOSE, I'M IMPRESSED.",
420 "DAMN, NICE REFLEXES.",
421 "YOU'RE A MEAN GREEN STOPWATCH MACHINE.",
422 "MEAN GREEN STOPWATCH MACHINE",
423 "YOU HAVE TO BE A ROBOT, RIGHT?",
424 "EVEN QUICKSILVER COULDN'T HAVE DONE IT BETTER.",
425 "YOU ARE A BUM, GO HOME LOSER!!!!" A class to manage alarms with time-based triggers.
The Timer class provides a countdown timer with start, pause, resume, reset, and time adjustment func...
The Stopwatch class provides a simple timer with start, pause, resume, and reset functionalities.
The Display class manages the visual representation and interaction logic for timers, stopwatches, and alarms.