예제 #1
0
 static Med_Koma()
 {
     komasyuruiNamaeItiran = new string[Conv_Taikyokusya.AllOptionalPhaseList.Length][];
     for (int iTai = 0; iTai < Conv_Taikyokusya.AllOptionalPhaseList.Length; iTai++)
     {
         komasyuruiNamaeItiran[iTai] = new string[Conv_Komasyurui.Itiran.Length];
         int iKs = 0;
         foreach (Koma km in Conv_Koma.ItiranTai[(int)iTai])
         {
             komasyuruiNamaeItiran[iTai][iKs] = Conv_Koma.GetName(km);
             iKs++;
         }
     }
 }
예제 #2
0
        /// <summary>
        /// 駒の利き数☆(^~^)
        /// </summary>
        /// <returns></returns>
        public static void HyojiKomanoKikiSu(Shogiban shogiban, StringBuilder syuturyoku)
        {
            //, KikisuKomabetuCountboardItiran kikiKomabetuCB
            // KikisuZenbuCountboardItiran kikiZenbuCB

            syuturyoku.AppendLine("重ね利き数全部");
            // 対局者別 全部
            {
                // 見出し
                Setumei_Headers(Conv_Taikyokusya.NamaeItiran, syuturyoku);

                Util_Information.AppendLine_Top_Kyokumen(Conv_Taikyokusya.AllOptionalPhaseList.Length, syuturyoku); // ┌──┬──┬──┐みたいな線☆
                for (int dan = 0; dan < Option_Application.Optionlist.BanTateHaba; dan++)
                {
                    AppendLine_Data_Countboard(shogiban, dan * Option_Application.Optionlist.BanYokoHaba, syuturyoku);

                    if (dan + 1 < Option_Application.Optionlist.BanTateHaba)
                    {
                        Util_Information.AppendLine_Middle(Conv_Taikyokusya.AllOptionalPhaseList.Length, syuturyoku); // ├──┼──┼──┤みたいな線☆
                    }
                }
                Util_Information.AppendLine_Bottom(Conv_Taikyokusya.AllOptionalPhaseList.Length, syuturyoku); // └──┴──┴──┘みたいな線☆
            }
            // 駒別
            foreach (var optionalPhase29 in Conv_Taikyokusya.AllOptionalPhaseList) // 対局者1、対局者2
            {
                foreach (Koma km in Conv_Koma.ItiranTai[OptionalPhase.IndexOf(optionalPhase29)])
                {
                    syuturyoku.Append(Util_Information.FormatBanWidthZenkaku(Conv_Koma.GetName(km)));
                }
                syuturyoku.AppendLine();

                Util_Information.AppendLine_Top_Kyokumen(Conv_Komasyurui.Itiran.Length, syuturyoku);

                for (int dan = 0; dan < Option_Application.Optionlist.BanTateHaba; dan++)
                {
                    AppendLine_Data_Countboard(optionalPhase29, shogiban, dan * Option_Application.Optionlist.BanYokoHaba, syuturyoku);

                    if (dan + 1 < Option_Application.Optionlist.BanTateHaba)
                    {
                        Util_Information.AppendLine_Middle(Conv_Komasyurui.Itiran.Length, syuturyoku);
                    }
                }
                Util_Information.AppendLine_Bottom(Conv_Komasyurui.Itiran.Length, syuturyoku);
            }
        }
예제 #3
0
        /// <summary>
        /// 駒の居場所
        /// </summary>
        /// <param name="syuturyoku"></param>
        public static void HyojiKomanoIbasho(Shogiban shogiban, StringBuilder syuturyoku)
        {
            //IbasyoKomabetuBitboardItiran bb_koma,
            //  KomaZenbuIbasyoBitboardItiran bb_komaZenbu
            syuturyoku.AppendLine("駒の居場所");

            // 駒全部☆
            {
                Setumei_Bitboards(new string[] { "対局者1", "対局者2" },
                                  new Bitboard[] {
                    shogiban.GetBBKomaZenbu(OptionalPhase.Black),
                    shogiban.GetBBKomaZenbu(OptionalPhase.White)
                }, syuturyoku);
                syuturyoku.AppendLine();
            }

            foreach (var optionalPhase81 in Conv_Taikyokusya.AllOptionalPhaseList)// 対局者1、対局者2
            {
                // 見出し
                foreach (Koma km in Conv_Koma.ItiranTai[OptionalPhase.IndexOf(optionalPhase81)])
                {
                    syuturyoku.Append(FormatBanWidthZenkaku(Conv_Koma.GetName(km)));
                }
                syuturyoku.AppendLine();

                // 盤
                Bitboard[] bbHairetu = new Bitboard[Conv_Komasyurui.Itiran.Length];
                int        i         = 0;
                foreach (Komasyurui ks in Conv_Komasyurui.Itiran)
                {
                    bbHairetu[i] = shogiban.GetBBKoma(Med_Koma.KomasyuruiAndTaikyokusyaToKoma(ks, optionalPhase81));
                    i++;
                }
                Setumei_Bitboards(bbHairetu, syuturyoku);
            }
        }