Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #include "SgSystem.h"
00007 #include "FuegoMainEngine.h"
00008
00009 #include "FuegoMainUtil.h"
00010 #include "GoGtpCommandUtil.h"
00011 #include "GoUctPlayer.h"
00012
00013 using namespace std;
00014
00015
00016
00017 FuegoMainEngine::FuegoMainEngine(int fixedBoardSize, const char* programPath,
00018 bool noHandicap)
00019 : GoGtpEngine(fixedBoardSize, programPath, false, noHandicap),
00020 m_uctCommands(Board(), m_player),
00021 m_autoBookCommands(Board(), m_player, m_autoBook),
00022 m_safetyCommands(Board())
00023 {
00024 m_uctCommands.Register(*this);
00025 m_safetyCommands.Register(*this);
00026 m_autoBookCommands.Register(*this);
00027 Register("fuego-license", &FuegoMainEngine::CmdLicense, this);
00028 SetPlayer(new PlayerType(Board()));
00029 }
00030
00031 FuegoMainEngine::~FuegoMainEngine()
00032 {
00033 }
00034
00035 void FuegoMainEngine::CmdAnalyzeCommands(GtpCommand& cmd)
00036 {
00037 GoGtpEngine::CmdAnalyzeCommands(cmd);
00038 m_uctCommands.AddGoGuiAnalyzeCommands(cmd);
00039 m_safetyCommands.AddGoGuiAnalyzeCommands(cmd);
00040 m_autoBookCommands.AddGoGuiAnalyzeCommands(cmd);
00041 cmd << "string/Fuego License/fuego-license\n";
00042 string response = cmd.Response();
00043 cmd.SetResponse(GoGtpCommandUtil::SortResponseAnalyzeCommands(response));
00044 }
00045
00046 void FuegoMainEngine::CmdLicense(GtpCommand& cmd)
00047 {
00048 cmd << "\n" <<
00049 "Fuego " << FuegoMainUtil::Version() << "\n" <<
00050 "Copyright (C) 2009-2011 by the authors of the Fuego project.\n"
00051 "See http://fuego.sf.net for information about Fuego. Fuego comes\n"
00052 "with NO WARRANTY to the extent permitted by law. This program is\n"
00053 "free software; you can redistribute it and/or modify it under the\n"
00054 "terms of the GNU Lesser General Public License as published by the\n"
00055 "Free Software Foundation - version 3. For more information about\n"
00056 "these matters, see the files named COPYING and COPYING.LESSER\n";
00057 }
00058
00059 void FuegoMainEngine::CmdName(GtpCommand& cmd)
00060 {
00061 cmd << "Fuego";
00062 }
00063
00064
00065
00066 void FuegoMainEngine::CmdVersion(GtpCommand& cmd)
00067 {
00068 cmd << FuegoMainUtil::Version();
00069 }
00070
00071