Beispiel #1
0
        /// <summary>
        /// UndoMove()のときに棋譜を1行取り除く。
        /// </summary>
        private void RemoveKifu(bool isSpecialMove = false)
        {
            if (EnableKifuList)
            {
                KifuList.RemoveAt(KifuList.Count - 1); // RemoveLast()
                RaisePropertyChanged("KifuList", KifuList, KifuList.Count /*末尾が削除になった*/);
            }

            // UsiMoveListにはspecial moveは含まれていないので、取り除くことは出来ない。
            if (EnableUsiMoveList && !isSpecialMove)
            {
                UsiMoveList.RemoveAt(UsiMoveList.Count - 1); // RemoveLast()
            }
        }
Beispiel #2
0
        /// <summary>
        /// UndoMove()のときに棋譜を1行取り除く。
        /// </summary>
        private void RemoveKifu()
        {
            if (EnableKifuList)
            {
                // rootNodeからの指し手。これは棋譜リストと同期させている。
                kifuWindowMoves.RemoveAt(kifuWindowMoves.Count - 1);

                // 棋譜ウィンドウに表示する用の文字列
                KifuList.RemoveAt(KifuList.Count - 1);
                RaisePropertyChanged("KifuListRemoved", null /*末尾が削除になった*/);
            }

            if (EnableUsiMoveList)
            {
                UsiMoveList.RemoveAt(UsiMoveList.Count - 1); // RemoveLast()
            }
        }