//###########################################################################
//#
//# Diplomarbeit von Michel Jaggi / Abalone Spiel
//#
//# Datum: 22.06.2002
//#
//# Klasse Game dient als Oberklasse, die die anderen Klassen instanziert.
//#
//###########################################################################
#ifndef GAME_H
#define GAME_H
#include "Matrix.h"
#include "IOMessages.h"
#include "Player.h"
#include "abaoption.h"



class Game
{
  private:
          Player Player1;
          Player Player2;
          int GameState;
          bool StoneChecked;
          bool NewGame;

  public:
         Player *activePlayer;
         Player *inactivePlayer;
         Matrix DataMatrix;
         IOMessages *Message;
         abaoption *abaOptions;

         Game();
         void SetActivePlayer(int GaAcitvePlayer);
         void SwitchActivePlayer();
         void SetGameState(int GaGameState){GameState = GaGameState;};
         int GetGameState(){return (GameState);};
         void GameNormalMode();
         void GameNetMode();
         void GameKIMode();
         bool CheckName();
         int Play();
         int CheckStatus(int GaXSource, int GaYSource);
         void SetNewGame(GaNewGame){NewGame = GaNewGame;};
         bool GetNewGame(){return (NewGame);};
};
#endif