protected int assessDraw(Figure fig, XY to) {
		if (numberOfFiftyRule >= 50) {
			return DRAW_50_RULE;
		} else if (log.size() < numberOfMove - 3) {
			return DRAW_3_FOLD_REPETITION;
		} else if (assessImpossibilityOfMate() == true) {
			return DRAW_IMPOSSIBILITY_OF_MATE;
		} else
			return CORRECT_MOVE;
	}