alphaBetaPlayer.h
Go to the documentation of this file.
00001 /* alphaBetaPlayer.h
00002  */
00003 #ifndef GAMEPLAYING_ALPHABETAPLAYER_H
00004 #define GAMEPLAYING_ALPHABETAPLAYER_H
00005 
00006 #include "osl/game_playing/searchPlayer.h"
00007 #include <boost/scoped_ptr.hpp>
00008 
00009 namespace osl
00010 {
00011   namespace search
00012   {
00013     struct AlphaBeta2SharedRoot;
00014   }
00015   namespace game_playing
00016   {
00017     class AlphaBeta2ProgressEvalPlayer : public SearchPlayer
00018     {
00019     public:
00020       AlphaBeta2ProgressEvalPlayer();
00021       ~AlphaBeta2ProgressEvalPlayer();
00022       ComputerPlayer* clone() const;
00023 
00024       const MoveWithComment searchWithSecondsForThisMove(const GameState&, const search::TimeAssigned&);
00025       bool isReasonableMove(const GameState&, Move move, int pawn_sacrifice);
00026     };
00027 
00028     class AlphaBeta2OpenMidEndingEvalPlayer : public SearchPlayer
00029     {
00030     public:
00031       AlphaBeta2OpenMidEndingEvalPlayer();
00032       ~AlphaBeta2OpenMidEndingEvalPlayer();
00033       ComputerPlayer* clone() const;
00034 
00035       const MoveWithComment searchWithSecondsForThisMove(const GameState&, const search::TimeAssigned&);
00036       bool isReasonableMove(const GameState&, Move move, int pawn_sacrifice);
00037 
00038       const MoveWithComment analyzeWithSeconds(const GameState& gs, const search::TimeAssigned& org,
00039                                                search::AlphaBeta2SharedRoot& out);
00040     };
00041 
00042     class AlphaBeta3OpenMidEndingEvalPlayer : public SearchPlayer
00043     {
00044     public:
00045       AlphaBeta3OpenMidEndingEvalPlayer();
00046       ~AlphaBeta3OpenMidEndingEvalPlayer();
00047       ComputerPlayer* clone() const;
00048 
00049       const MoveWithComment searchWithSecondsForThisMove(const GameState&, const search::TimeAssigned&);
00050       bool isReasonableMove(const GameState&, Move move, int pawn_sacrifice);
00051     };
00052   } // namespace game_playing
00053 } // namespace osl
00054 
00055 #endif /* GAMEPLAYING_ALPHABETAPLAYER_H */
00056 // ;;; Local Variables:
00057 // ;;; mode:c++
00058 // ;;; c-basic-offset:2
00059 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines