Beispiel #1
0
        private ChessEngine.Engine.Engine ReturnNewState(ChessEngine.Engine.Engine engine, byte piece, byte move)
        {
            ChessEngine.Engine.Engine newState = new Engine.Engine();
            newState.ChessBoard = new Board(engine.ChessBoard);
            byte[] sourcePos      = engine.CalculateColumnAndRow((byte)(piece));
            byte[] destinationPos = engine.CalculateColumnAndRow(move);

            if (!newState.MovePiece(sourcePos[0], sourcePos[1], destinationPos[0], destinationPos[1]))
            {
                return(null);
            }

            return(newState);
        }