/*==== Timer.h ==============================================
  Class Timer models a countdown timer.
=============================================================*/

#include <cassert>
using namespace std;

class Timer
{
/***** Function Members *****/
public:

/* Constructor
 *  Receive:  An initial value to start the timer.
 *  Postcondition: Timer.minutes initialized to initTime.
 **************************************************************/
Timer(int initTime)
{
  assert(initTime > 0);
  minutes = initTime;
}

/* Time remaining
 *  Return:  Time left before timer runs out
 **************************************************************/
int TimeRemaining() const
{ return minutes; }


/* Decrement by one minute
 *  Return:  Timer with time minute decremeted
 **************************************************************/
void Tick()
{ minutes--; }

/* Check if timer has run out
 *  Return:  True if time has expired, false otherwise
 **************************************************************/
bool HasTimeLeft() const
{ return (minutes > 0); }

/***** Data Members *****/
private:
   int minutes;
};  // end of class declaration
