#ifndef Game_h
#define Game_h 1

#include <Base.h>
#include <DeedIndex.h>
#include <CardIndex.h> 
#include <SpaceLoop.h>
#include <Dice.h>

// Needed to resolve a cyclic definition.
class CardPtrDeque;
class PlayerLoop;

class Game : public Base {
public:
  Game();
  ~Game();

  virtual char* classname() const;
  virtual IOstatus readContents();
  virtual IOstatus writeContents() const;

  DeedIndex deeds;
  CardIndex cards;
  CardPtrDeque* chest;
  CardPtrDeque* chance;
  SpaceLoop spaces;
  PlayerLoop* players;
  Dice dice;
};

#endif
