示例#1
0
        /// <summary>
        /// 読み筋を返すぜ☆(^~^)
        /// </summary>
        /// <param name="sentoNantemade">初期局面からのリンクリストなので、どの「図はn手まで」戻すか☆</param>
        /// <returns></returns>
        public void ScanYomisuji(bool isSfen, int sentoNantemade, StringBuilder syuturyoku)
        {
            // 先頭(投了、初期局面、図は0手まで)まで戻るぜ☆
            Nanteme nanteme = this;

            for (; null != nanteme.Ittemae; nanteme = nanteme.Ittemae)
            {
            }

            // 先頭から今までの読み筋をつなげるぜ☆(^▽^)
            int zuhaNantemade = 0; // 図はn手まで

            for (;
                 null != nanteme;// 一番最後まで回すぜ☆(^▽^)
                 nanteme = nanteme.Ittego)
            {
                if (sentoNantemade <= zuhaNantemade)
                {
                    // 「図はn手まで」の数字
                    syuturyoku.Append($"({zuhaNantemade})");
                    ConvMove.AppendFenTo(isSfen, nanteme.Move, syuturyoku);
                    syuturyoku.Append(" ");

                    // おまけ
                    syuturyoku.Append($"{AbstractConvMoveType.Setumei(nanteme.MoveType)} ");
                }
                zuhaNantemade++;
            }
        }
示例#2
0
 public void Setumei_Description(bool isSfen, StringBuilder syuturyoku)
 {
     syuturyoku.Append($"key=[{Key}] move=[");
     ConvMove.Setumei(isSfen, Move, syuturyoku);
     syuturyoku.Append($"] sasiteType=[{AbstractConvMoveType.Setumei(MoveType)}] fukasa=[{Fukasa}] hyokati=[{(int)Hyokati}] komawariHyokati_forJoho=[{(int)KomawariHyokati_ForJoho}] nikomaHyokati_forJoho=[{(int)NikomaHyokati_ForJoho}] okimariHyokati_forJoho=[${(int)OkimariHyokati_ForJoho}]");
 }