
/// АВТОР Бренкман Андрей (Brenkman Andrey)
/// ПОСЛЕДНЕЕ ИЗМЕНЕНИЕ  25.02.2009
/// УРОВЕНЬ МОЕГО ДОВЕРИЯ 80%



///!
#include "Header_constants.h"
#include "List.h"


/// включаем-выключаем(1-0) режим вывода в файл тестовой информации
#define TEST_K 0 



/// реализуем киллеры

/// киллер ход это лучший ход найденный до этого на данной глубине
/// он не должен быть взятием т.к. с взятиями разговор особый

/// что значит лучший? 
/// это значит  
/// что он улучшил альфу и вызвал отсечку по бете
/// конечно это для поиска за белых
/// для черных улучшил бету и вызвал отсечку по альфе


namespace Killer 
{

/// поля класса
//////////////////////////////////////////////////////////////////////////////////////
//private:


//////////////////////////////////////////////////////////////////////////////////////
//public:

	///
	__int32 get_killer_moves_1(const unsigned __int16 n);

	/// 
	__int32 get_killer_moves_2(const unsigned __int16 n);

//////////////////////////////////////////////////////////////////////////////////////
//public:

	///---------------------------------------------------------------------------
	/// инициализируем массив киллеров
	void ini_killer();

	///---------------------------------------------------------------------------
	/// пишем киллера
	void save_killer
	(
		const unsigned __int8 i,/// номер хода в списке
		struct List & list,/// представление списка ходов
		const unsigned __int8 depth/// текущая глубина
	);

	///---------------------------------------------------------------------------
	/// вставляем киллера в начало списка(позиция start) 
	void insert_killer
	(
		struct List & list,/// представление списка ходов
		const unsigned __int8 depth,/// текущая глубина
		unsigned __int8 start///позиция с которой ищем и на которую вставляем киллер
	);

	///---------------------------------------------------------------------------
	/// вставляем киллера в начало списка(позиция start) 
	void insert_killer_in_list
	(
		struct List & list,/// представление списка ходов
		const __int32 killer_moves_1,/// 
		const __int32 killer_moves_2,///
		const unsigned __int8 start///позиция с которой ищем и на которую вставляем киллер
	);


};
