#ifndef GAMEH
#define GAMEH

typedef enum
{
  simpleled,
  chaingame,
  magicswitchboard,
  detectled
} e_game;

typedef enum
{
  disabled,
  init,
  active
} e_state;

class c_game
{
private:
  const e_game _gameindex;
  e_state _status;

public:
  c_game(e_game index) : _gameindex(index) {_status = disabled;}

  virtual void runGame(void);
  virtual void initGame(void);
  e_state getStatus(void) { return _status; }
  e_game getIndex(void) { return _gameindex; }
  void setStatus(e_state newstate) { _status = newstate;}
};

#endif //GAMEH