Beispiel #1
0
        /// <summary>
        /// 指定の手目まで進めるぜ☆(^~^)
        /// </summary>
        /// <param name="temeMade"></param>
        /// <param name="ky"></param>
        /// <param name="syuturyoku"></param>
        public void GoToTememade(bool isSfen, int temeMade, Kyokumen ky, StringBuilder syuturyoku)
        {
            // 棋譜を元に、局面データを再現するぜ☆
            ky.Clear();
            int caret = 0;

            ky.ParsePositionvalue(isSfen, SyokiKyokumenFen, ref caret,
                                  true//適用
                                  , false, out string moves, syuturyoku
                                  );
            // 指定の手目まで進めるぜ☆(^~^)
            foreach (Move ss in SsList)
            {
                if (temeMade < 1)
                {
                    break;
                }
                Nanteme nanteme = new Nanteme();
                ky.DoMove(isSfen, ss, MoveType.N00_Karappo, ref nanteme, ky.CurrentOptionalPhase, syuturyoku);
                temeMade--;
            }
        }
Beispiel #2
0
        /// <summary>
        /// 終局図まで進めるぜ☆(^~^)
        /// </summary>
        /// <param name="ky"></param>
        /// <param name="syuturyoku"></param>
        public void GoToFinish(bool isSfen, Kyokumen ky, StringBuilder syuturyoku)
        {
            ky.Clear();

            int caret = 0;

            ky.ParsePositionvalue(isSfen, SyokiKyokumenFen, ref caret,
                                  true//適用
                                  , false, out string moves, syuturyoku
                                  );

            // 棋譜を元に、局面データを再現するぜ☆
            foreach (Move ss in SsList)
            {
                Nanteme nanteme = new Nanteme();
                ky.DoMove(isSfen, ss, MoveType.N00_Karappo, ref nanteme, ky.CurrentOptionalPhase, syuturyoku);

#if DEBUG
                //Util_Commands.Ky(isSfen, "ky", ky, syuturyoku);
                ////Logger.Flush(syuturyoku);
                //Logger.Flush_USI(syuturyoku);
#endif
            }
        }