示例#1
0
        ///// <summary>
        /////
        ///// </summary>
        ///// <param name="out_restString"></param>
        ///// <param name="commandline">B3といった文字列☆</param>
        ///// <returns></returns>
        //public static bool TryParseMs(
        //    string commandline,
        //    Kyokumen ky,
        //    ref int caret,
        //    out Masu result
        //)
        //{
        //    //「B4」形式と想定
        //    // テキスト形式の符号「A4 …」の最初の1要素を、切り取ってトークンに分解します。

        //    //------------------------------------------------------------
        //    // リスト作成
        //    //------------------------------------------------------------

        //    Match m = Itiran_FenParser.GetMasuMovePattern(Option_Application.Optionlist.USI).Match(commandline, caret);
        //    if (m.Success)
        //    {
        //        Util_String.SkipMatch(commandline, ref caret, m);

        //        // 符号1「B4」を元に、Masu を作ります。

        //        // 盤上の駒を動かしたぜ☆
        //        result = Med_Parser.FenSujiDan_Masu(
        //            Option_Application.Optionlist.USI,
        //            m.Groups[1].Value, //ABCabc か、 ZKH
        //            m.Groups[2].Value //1234   か、 *
        //            );
        //        return true;
        //    }

        //    // 「B4B3」形式ではなかった☆(^△^)!? 次の一手が読めない☆
        //    result = ky.MASU_ERROR;
        //    return false;
        //}

        /// <summary>
        /// 筋
        /// </summary>
        /// <param name="isSfen"></param>
        /// <param name="suji"></param>
        /// <returns></returns>
        public static int FenSuji_Int(bool isSfen, string suji)
        {
            if (isSfen)
            {
                if (!int.TryParse(suji, out int iSuji))
                {
                    throw new Exception($"パース失敗 suji=[{suji}]");
                }
                return(Option_Application.Optionlist.BanYokoHaba + 1 - iSuji);
            }
            else
            {
                return(Conv_Kihon.AlphabetToInt(suji));
            }
        }
示例#2
0
 /// <summary>
 /// 段
 /// </summary>
 /// <param name="isSfen"></param>
 /// <param name="suji"></param>
 /// <returns></returns>
 public static int FenDan_Int(bool isSfen, string dan)
 {
     if (isSfen)
     {
         return(Conv_Kihon.AlphabetToInt(dan));
     }
     else
     {
         if (!int.TryParse(dan, out int iDan))
         {
             throw new Exception($"パース失敗 dan=[{ dan }]");
         }
         return(iDan);
     }
 }