/**********************************************************************
 *
 *   FreeDoko a Doppelkopf-Game
 *    
 *   Copyright (C) 2001-2003  by Diether Knof and Borg Enders
 *
 *   This program is free software; you can redistribute it and/or 
 *   modify it under the terms of the GNU General Public License as 
 *   published by the Free Software Foundation; either version 2 of 
 *   the License, or (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details. 
 *   You can find this license in the file 'gpl.txt'.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 *   MA  02111-1307  USA
 *
 *  Contact:
 *    Diether Knof dknof@gmx.de
 *    Borg Enders  borg@borgsoft.de
 *
 ********************************************************************/ 

#include "constants.h"

#include "predefined.h"

#define VOID

/**********************************************************************
 *
 **    AiNovice::AiNovice()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiNovice::AiNovice():
Aiconfig()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,
		"AiNovice::AiNovice()");

  this->Aiconfig::set(REMEMBERTRICKS, 2);
  this->Aiconfig::set(FAIRPLAYHANDS, true);
  this->Aiconfig::set(FAIRPLAYTEAMS, true);
  this->Aiconfig::set(TRUSTING, true);

  DEBUG_RETURNING(VOID,
		  INFO_AIPREDEFINED && INFO_INIT,
		  "AiNovice::AiNovice()");
}


/**********************************************************************
 *
 **    AiNovice::~AiNovice()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiNovice::~AiNovice()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,
		"AiNovice::~AiNovice()");
  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,
		  "AiNovice::~AiNovice()");
} 


/**********************************************************************
 *
 **    AiNovicePro::AiNovicePro()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiNovicePro::AiNovicePro():
Aiconfig()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,
		"AiNovicePro::AiNovicePro()");

  this->Aiconfig::set(REMEMBERTRICKS, 4);
  this->Aiconfig::set(FAIRPLAYHANDS, true);
  this->Aiconfig::set(FAIRPLAYTEAMS, true);
  this->Aiconfig::set(TRUSTING, true);

  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,
		  "AiNovicePro::AiNovicePro()");
}


/**********************************************************************
 *
 **    AiNovicePro::~AiNovicePro()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiNovicePro::~AiNovicePro()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,"AiNovicePro::~AiNovicePro()");
  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,"AiNovice::~AiNovicePro()");
} 


/**********************************************************************
 *
 **    AiNormal::AiNormal()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiNormal::AiNormal():
Aiconfig()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,
		"AiNormal::AiNormal()");

  this->Aiconfig::set(REMEMBERTRICKS, 6);
  this->Aiconfig::set(FAIRPLAYHANDS, true);
  this->Aiconfig::set(FAIRPLAYTEAMS, true);
  this->Aiconfig::set(TRUSTING, true);

  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,
		  "AiNormal::AiNormal()");
}


/**********************************************************************
 *
 **    AiNormal::~AiNormal()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiNormal::~AiNormal()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,"AiNormal::~AiNormal()");
  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,"AiNormal::~AiNormal()");
} 


/**********************************************************************
 *
 **    AiNormalPro::AiNormalPro()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiNormalPro::AiNormalPro():
Aiconfig()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,"AiNormalPro::AiNormalPro()");

  this->Aiconfig::set(REMEMBERTRICKS, 8);
  this->Aiconfig::set(FAIRPLAYHANDS, true);
  this->Aiconfig::set(FAIRPLAYTEAMS, true);
  this->Aiconfig::set(TRUSTING, false);

  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,"AiNormalPro::AiNormalPro()");
}


/**********************************************************************
 *
 **    AiNormalPro::~AiNormalPro()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiNormalPro::~AiNormalPro()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,"AiNormalPro::~AiNormalPro()");
  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,"AiNormal::~AiNormalPro()");
} 


/**********************************************************************
 *
 **    AiProfi::AiProfi()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiProfi::AiProfi():
Aiconfig()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,"AiProfi::AiProfi()");

  this->Aiconfig::set(REMEMBERTRICKS, 10);
  this->Aiconfig::set(FAIRPLAYHANDS, false);
  this->Aiconfig::set(FAIRPLAYTEAMS, true);
  this->Aiconfig::set(TRUSTING,false);

  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,"AiProfi::AiProfi()");
}


/**********************************************************************
 *
 **    AiProfi::~AiProfi()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiProfi::~AiProfi()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,"AiProfi::~AiProfi()");
  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,"AiProfi::~AiProfi()");
} 


/**********************************************************************
 *
 **    AiProfiPro::AiProfiPro()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiProfiPro::AiProfiPro():
Aiconfig()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,"AiProfiPro::AiProfiPro()");

  this->Aiconfig::set(REMEMBERTRICKS, 12);
  this->Aiconfig::set(FAIRPLAYHANDS, false);
  this->Aiconfig::set(FAIRPLAYTEAMS, false);
  this->Aiconfig::set(TRUSTING,false);

  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,"AiProfiPro::AiProfiPro()");
}


/**********************************************************************
 *
 **    AiProfiPro::~AiProfiPro()
 *
 **    Parameters:
 *
 **    Result:
 *
 **    Version: Alpha
 *
 **    Description:
 *
 *
 **********************************************************************/

AiProfiPro::~AiProfiPro()
{
  DEBUG_CALLING(INFO_AIPREDEFINED && INFO_INIT,"AiProfiPro::~AiProfiPro()");
  DEBUG_RETURNING(VOID,INFO_AIPREDEFINED && INFO_INIT,"AiProfi::~AiProfiPro()");
} 
