Beispiel #1
0
        private static void Log2(
            Tansaku_Genjo genjo,
            KifuNode node_yomi,
            KaisetuBoard logBrd_move1
            )
        {
            logBrd_move1.moveOrNull = node_yomi.Key;


            RO_Star srcKoma = Util_Starlightable.AsKoma(logBrd_move1.moveOrNull.LongTimeAgo);
            RO_Star dstKoma = Util_Starlightable.AsKoma(logBrd_move1.moveOrNull.Now);


            // ログ試し
            logBrd_move1.Arrow.Add(new Gkl_Arrow(Conv_SyElement.ToMasuNumber(srcKoma.Masu), Conv_SyElement.ToMasuNumber(dstKoma.Masu)));
            genjo.Args.LogF_moveKiki.boards.Add(logBrd_move1);
        }
Beispiel #2
0
        /// <summary>
        /// 盤1個分のログ。
        /// </summary>
        public static void Build_LogBoard(
            Node <IMove, KyokumenWrapper> node_forLog,
            string nodePath,
            KifuNode niniNode, //任意のノード
                               //KifuTree kifu_forAssert,
            KyokumenPngEnvironment reportEnvironment,
            KaisetuBoards logF_kiki
            )
        {
            //
            // HTMLログ
            //
            if (logF_kiki.boards.Count < 30)//出力件数制限
            {
                KaisetuBoard logBrd_move1 = new KaisetuBoard();

                List_OneAndMulti <Finger, SySet <SyElement> > komaBETUSusumeruMasus;
                Playerside pside = niniNode.Value.KyokumenConst.KaisiPside;
                Util_KyokumenMoves.LA_Split_KomaBETUSusumeruMasus(
                    2,
                    //node_forLog,
                    out komaBETUSusumeruMasus,
                    true,                         //本将棋
                    niniNode.Value.KyokumenConst, //現在の局面
                    pside,
                    false
                    //#if DEBUG
                    ,
                    new MmLogGenjoImpl(
                        0, //読み開始手目済み
                        logBrd_move1,
                        0, //現在の手済み
                        niniNode.Key
                        )
                    //#endif
                    );

                logBrd_move1.moveOrNull = niniNode.Key;

                logBrd_move1.YomikaisiTemezumi = niniNode.Value.KyokumenConst.Temezumi;//読み開始手目済み    // int.MinValue;
                logBrd_move1.Temezumi          = int.MinValue;
                logBrd_move1.Score             = (int)niniNode.Score;

                logF_kiki.boards.Add(logBrd_move1);
            }
        }
Beispiel #3
0
        private static void Log1(
            Tansaku_Genjo genjo,
            IMove src_Sky_move,
            SkyConst src_Sky,
            out MmLogGenjoImpl out_mm_log,
            out KaisetuBoard out_logBrd_move1
            )
        {
            out_logBrd_move1 = new KaisetuBoard();// 盤1個分のログの準備

            out_mm_log = new MmLogGenjoImpl(
                genjo.YomikaisiTemezumi,
                out_logBrd_move1, //ログ?
                src_Sky.Temezumi, //手済み
                src_Sky_move      //指し手
                );
        }