예제 #1
0
        /// <summary>
        /// 用途例:持ち駒を確認するために使います。
        /// </summary>
        /// <param name="hkomas_gen_MOTI"></param>
        /// <returns></returns>
        public static string JsonElements_KomaHandles(bool enableLog, SkyConst src_Sky, List <int> hKomas, string comment)
        {
            StringBuilder sb = new StringBuilder();

            if (!enableLog)
            {
                goto gt_EndMethod;
            }

            //sb.AppendLine("            [");
            sb.AppendLine("                { act:\"colorMasu\", style:\"rgba(100,240,100,0.5)\" },");


            foreach (int hKoma in hKomas)
            {
                RO_Star koma = Util_Starlightable.AsKoma(src_Sky.StarlightIndexOf(hKoma).Now);


                string komaImg = Util_Converter_LogGraphicEx.Finger_ToString(src_Sky, hKoma, "");
                sb.AppendLine($"                {{ act:\"drawImg\", img:\"{komaImg}\", masu: {Conv_SyElement.ToMasuNumber(koma.Masu)} }},");//FIXME:おかしい?
            }



            sb.AppendLine($"                {{ act:\"drawText\", text:\"{comment}\"  , x:0, y:20 }},");

            //sb.AppendLine("            ],");

gt_EndMethod:
            return(sb.ToString());
        }
예제 #2
0
        /// <summary>
        /// ハブ・ノードの次ノード・リストをJSON化します。
        /// </summary>
        /// <param name="enableLog"></param>
        /// <param name="src_Sky_base"></param>
        /// <param name="hubNode"></param>
        /// <param name="comment"></param>
        /// <param name="logTag"></param>
        /// <returns></returns>
        public static string JsonKyokumens_NextNodes(bool enableLog, SkyConst src_Sky_base, Node <IMove, KyokumenWrapper> hubNode, string comment)
        {
            StringBuilder sb = new StringBuilder();

            if (!enableLog)
            {
                goto gt_EndMethod;
            }

            hubNode.Foreach_ChildNodes((string key, Node <IMove, KyokumenWrapper> node, ref bool toBreak) =>
            {
                IMove move = node.Key;

                RO_Star srcKoma1 = Util_Starlightable.AsKoma(move.LongTimeAgo);
                RO_Star dstKoma  = Util_Starlightable.AsKoma(move.Now);


                Finger srcKoma2 = Util_Sky_FingersQuery.InMasuNow(src_Sky_base, srcKoma1.Masu).ToFirst();

                // 駒1つ
                PieceType ks14 = Util_Komahaiyaku184.Syurui(dstKoma.Haiyaku);

                sb.AppendLine("            [");

                // マスの色
                sb.AppendLine("                { act:\"colorMasu\", style:\"rgba(100,240,100,0.5)\" },");

                // マス
                sb.AppendLine($"                {{ act:\"drawMasu\" , masu:{Conv_SyElement.ToMasuNumber(dstKoma.Masu)} }},");


                string komaImg = Util_Converter_LogGraphicEx.Finger_ToString(src_Sky_base, srcKoma2, "");
                sb.AppendLine($"                {{ act:\"drawImg\", img:\"{komaImg}\", masu: {Conv_SyElement.ToMasuNumber(dstKoma.Masu)} }},");//FIXME:おかしい?

                // コメント
                sb.AppendLine($"                {{ act:\"drawText\", text:\"{comment}\"  , x:0, y:20 }},");

                sb.AppendLine("            ],");
            });

gt_EndMethod:
            return(sb.ToString());
        }
예제 #3
0
        /// <summary>
        /// 駒別マスをJSON化します。
        /// </summary>
        /// <param name="enableLog"></param>
        /// <param name="src_Sky_base"></param>
        /// <param name="km_move"></param>
        /// <param name="comment"></param>
        /// <returns></returns>
        public static string JsonKyokumens_MultiKomabetuMasus(bool enableLog, SkyConst src_Sky_base, Maps_OneAndOne <Finger, SySet <SyElement> > km_move, string comment)
        {
            StringBuilder sb = new StringBuilder();

            if (!enableLog)
            {
                goto gt_EndMethod;
            }

            km_move.Foreach_Entry((Finger key, SySet <SyElement> value, ref bool toBreak) =>
            {
                // 駒1つ
                RO_Star koma = Util_Starlightable.AsKoma(src_Sky_base.StarlightIndexOf(key).Now);

                PieceType ks14 = Util_Komahaiyaku184.Syurui(koma.Haiyaku);

                sb.AppendLine("            [");

                // マスの色
                sb.AppendLine("                { act:\"colorMasu\", style:\"rgba(100,240,100,0.5)\" },");

                // 全マス
                foreach (New_Basho masu in value.Elements)
                {
                    sb.AppendLine($"                {{ act:\"drawMasu\" , masu:{masu.MasuNumber} }},");
                }


                string komaImg = Util_Converter_LogGraphicEx.Finger_ToString(src_Sky_base, key, "");
                sb.AppendLine($"                {{ act:\"drawImg\", img:\"{komaImg}\", masu: {Conv_SyElement.ToMasuNumber(koma.Masu)} }},");//FIXME:おかしい?

                // コメント
                sb.AppendLine($"                {{ act:\"drawText\", text:\"{comment}\"  , x:0, y:20 }},");

                sb.AppendLine("            ],");
            });

gt_EndMethod:
            return(sb.ToString());
        }