public static SyElement HandleToMasu(int masuHandle) { SyElement masu; if ( !Util_Masu.Yuko(masuHandle) ) { masu = Masu_Honshogi.Error; } else { masu = Masu_Honshogi.Items_All[masuHandle]; } return(masu); }
public static SyElement OkibaSujiDanToMasu(Okiba okiba, int suji, int dan) { int masuHandle = -1; switch (okiba) { case Okiba.ShogiBan: if (1 <= suji && suji <= Util_Masu.SHOGIBAN_LAST_SUJI && 1 <= dan && dan <= Util_Masu.SHOGIBAN_LAST_DAN) { masuHandle = (suji - 1) * Util_Masu.SHOGIBAN_LAST_DAN + (dan - 1); } break; case Okiba.Sente_Komadai: case Okiba.Gote_Komadai: case Okiba.KomaBukuro: if (1 <= suji && suji <= Util_Masu.KOMADAI_LAST_SUJI && 1 <= dan && dan <= Util_Masu.KOMADAI_LAST_DAN) { masuHandle = (suji - 1) * Util_Masu.KOMADAI_LAST_DAN + (dan - 1); masuHandle += Util_Masu.AsMasuNumber(Util_Masu.GetFirstMasuFromOkiba(okiba)); } break; default: break; } SyElement masu = Masu_Honshogi.Error;//範囲外が指定されることもあります。 if (Util_Masu.Yuko(masuHandle)) { masu = Masu_Honshogi.Items_All[masuHandle]; } return(masu); }