00001 //---------------------------------------------------------------------------- 00002 /** @file SwapCheck.hpp 00003 */ 00004 //---------------------------------------------------------------------------- 00005 00006 #ifndef SWAPCHECK_HPP 00007 #define SWAPCHECK_HPP 00008 00009 #include "Hex.hpp" 00010 #include "Game.hpp" 00011 00012 _BEGIN_BENZENE_NAMESPACE_ 00013 00014 //---------------------------------------------------------------------------- 00015 00016 /** Determines whether to swap in the current game state. 00017 00018 @todo This functionality should be in the book. 00019 00020 @note Initialization is NOT THREADSAFE! 00021 */ 00022 namespace SwapCheck 00023 { 00024 /** If first move of game has been played and swap rule is being 00025 used, checks hardcoded swap rules and returns true if swap 00026 should be played. */ 00027 bool PlaySwap(const Game& game, HexColor toPlay); 00028 } 00029 00030 //---------------------------------------------------------------------------- 00031 00032 _END_BENZENE_NAMESPACE_ 00033 00034 #endif // SWAPCHECK_HPP