/// <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++; } }
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}]"); }