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


#ifndef A_UNDO_H
#define A_UNDO_H

/// эта структура нужна реализатору(делателю) ходов для 
/// восстановления позиции после хода
struct Undo
{
	/// флаг возврата взятия на проходе 1/0
	bool return_taking_passage;

	/// х координата битого поля(конвертируем из буквы) 
	/// так 'а' - 0 , 'h' - 7 таким образом по х отображение прямое
	unsigned __int8  taking_passage_x;

	/// у координата битого поля
	/// так '1' - 0 , '8' - 7 таким образом отображение тоже прямое только сдвинуто на 1
	unsigned __int8  taking_passage_y;

	/// флаг рокировки белых в длинную сторону
	bool return_castling_Q;

	/// флаг рокировки белых в короткую сторону
	bool return_castling_K;

	/// флаг рокировки черных в длинную сторону
	bool return_castling_q;

	/// флаг рокировки черных в короткую сторону
	bool return_castling_k;

};

#endif // !defined A_LIST_H