/// <summary> /// ************************************************************************************************************************ /// 指定のマスにあるスプライトを返します。(本将棋用) /// ************************************************************************************************************************ /// </summary> /// <param name="masu">マス番号</param> /// <param name="logTag">ログ名</param> /// <returns>スプライト番号。なければエラー番号。</returns> public static Fingers InMasuNow(SkyConst src_Sky, SyElement masu) { Fingers found = new Fingers(); foreach (Finger finger in Finger_Honshogi.Items_KomaOnly) { RO_Star koma = Util_Koma.FromFinger(src_Sky, finger); if (Masu_Honshogi.Basho_Equals(koma.Masu, masu)) { found.Add(finger); } } return(found); }
/// <summary> /// ************************************************************************************************************************ /// 指定のマスにある駒を返します。(本将棋用) /// ************************************************************************************************************************ /// </summary> /// <param name="masu">マス番号</param> /// <returns>スプライト番号。なければエラー番号。</returns> public static RO_Star InMasuNow(SkyConst src_Sky, SyElement masu) { RO_Star koma = null; Finger fig = Util_Sky_FingersQuery.InMasuNow(src_Sky, masu).ToFirst(); if (Fingers.Error_1 == fig) { // 指定の升には駒がない。 goto gt_EndMethod; } koma = Util_Koma.FromFinger(src_Sky, fig); gt_EndMethod: return(koma); }
/// <summary> /// ************************************************************************************************************************ /// 指定のマスにある駒を返します。(本将棋用) /// ************************************************************************************************************************ /// </summary> /// <param name="masu">マス番号</param> /// <returns>スプライト番号。なければエラー番号。</returns> public static RO_Star InMasuPsideKomasyuruiNow(SkyConst src_Sky, SyElement masu, Playerside pside, PieceType syurui) { RO_Star koma = null; Finger fig = Util_Sky_FingersQuery.InMasuNow(src_Sky, masu).ToFirst(); if (Fingers.Error_1 == fig) { // 指定の升には駒がない。 goto gt_EndMethod; } koma = Util_Koma.FromFinger(src_Sky, fig); if (koma.Pside != pside || koma.Komasyurui != syurui) { // サイド または駒の種類が異なる koma = null; goto gt_EndMethod; } gt_EndMethod: return(koma); }