Ejemplo n.º 1
0
        /// <summary>
        /// 自動再生の途中停止を行います。
        /// </summary>
        public void Stop()
        {
            if (ShogiElement != null)
            {
                ShogiElement.AutoPlayOpacity = 0.0;
            }

            Board           = StartBoard.Clone();
            Position        = TimeSpan.Zero;
            BasePosition    = TimeSpan.Zero;
            this.enumerator = null;
            this.moveIndex  = 0;

            RaiseStopped();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 現在読み込まれている差し手から、局面を作成します。
        /// </summary>
        public Board CreateBoard()
        {
            var board = StartBoard.Clone();

            MoveList.ForEachWithIndex((move, n) =>
            {
                if (!board.DoMove(move))
                {
                    throw new InvalidOperationException(
                        string.Format(
                            "{0}手目: 差し手が正しくありません。",
                            n + 1));
                }
            });

            return(board);
        }