Beispiel #1
0
        /// <summary>
        /// このノードの手を実際に指してみて、着手可能か確認します。
        /// </summary>
        private BoardMove MakeMove(Board board, List <Exception> errors)
        {
            var bmove = board.ConvertMove(Move, true);

            if (bmove == null || !bmove.Validate())
            {
                errors.Add(new FileFormatException(
                               LineNumber,
                               string.Format(
                                   "{0}手目: 指し手が正しくありません。",
                                   MoveCount)));
                return(null);
            }

            // 局面を進めます。
            if (!board.DoMove(bmove))
            {
                errors.Add(new FileFormatException(
                               LineNumber,
                               string.Format(
                                   "{0}手目の手を指すことができませんでした。",
                                   MoveCount)));
                return(null);
            }

            return(bmove);
        }
Beispiel #2
0
        /// <summary>
        /// このノードの手を実際に指してみて、着手可能か確認します。
        /// </summary>
        private Move MakeMove(Board board, List <Exception> errors)
        {
            var move = board.ConvertMoveFromLiteral(LiteralMove, true);

            if (move == null || !move.Validate())
            {
                errors.Add(new FileFormatException(
                               LineNumber,
                               $"{MoveCount}手目: 指し手が正しくありません。"));
                return(null);
            }

            // 局面を進めます。
            if (!board.DoMove(move))
            {
                errors.Add(new FileFormatException(
                               LineNumber,
                               $"{MoveCount}手目の手を指すことができませんでした。"));
                return(null);
            }

            return(move);
        }
Beispiel #3
0
        /// <summary>
        /// このノードの手を実際に指してみて、着手可能か確認します。
        /// </summary>
        private BoardMove MakeMove(Board board, List<Exception> errors)
        {
            var bmove = board.ConvertMove(Move, true);
            if (bmove == null || !bmove.Validate())
            {
                errors.Add(new FileFormatException(
                    LineNumber,
                    string.Format(
                        "{0}手目: 指し手が正しくありません。",
                        MoveCount)));
                return null;
            }

            // 局面を進めます。
            if (!board.DoMove(bmove))
            {
                errors.Add(new FileFormatException(
                    LineNumber,
                    string.Format(
                        "{0}手目の手を指すことができませんでした。",
                        MoveCount)));
                return null;
            }

            return bmove;
        }