Beispiel #1
0
        private RokadeEnum possibleRokade(IPositionAbstraction position)
        {
            var           prop           = position.GetType().GetProperty("Implementor", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
            var           getImplementor = prop.GetGetMethod(true);
            IPositionImpl implementor    = (IPositionImpl)getImplementor.Invoke(position, null);

            return(implementor.PossibleRokade());
        }
Beispiel #2
0
        public static IEnumerable <(PieceEnum Piece, SquareEnum Square)> Create(PieceEnum piece, SquareEnum square, IPositionImpl position)
        {
            var moves = Create(piece);

            foreach (var m in moves.GetIteratorFor(square, position, piece).Iterate())
            {
                yield return(m.Piece, m.Square);
            }
        }