/// <summary> /// 反映するぜ☆(^▽^) /// </summary> /// <param name="ky"></param> /// <param name="mk"></param> /// <param name="ninsyo"></param> public void HaneiMotiKoma(Kyokumen ky, MotiKoma mk) { if (DebugOptions.EvaluationHand) { // 駒の位置(評価関数の項目番号)☆ 持ち駒が 0 枚で、-1 の場合もあり☆ int koumokuNo = Util_NikomaKankei.GetKoumokuBango_MotiKoma(ky, mk); if (-1 != koumokuNo) { Util_NikomaKankei.MakeKoumokuBangoHairetu_Subete(ky, Util_NikomaKankei.KoumokuBangoHairetu1); Increase( Util_NikomaKankei.Kazoeru_NikomaKankeiHyokati_ItiTaiTa_SabunKosinYou(ky, koumokuNo, Util_NikomaKankei.KoumokuBangoHairetu1 ) ); } } }
public void KesuMotiKoma(Kyokumen ky, MotiKoma mk) { if (DebugOptions.ReduceHand) { // 駒の位置(評価関数の項目番号)☆ 持ち駒が 0 枚で、-1 の場合もあり☆ int koumokuNo = Util_NikomaKankei.GetKoumokuBango_MotiKoma(ky, mk); // Debug.Assert(koumokuNo != -1, $"mk=[{mk}]"); // 減点するぜ☆(^▽^) if (-1 != koumokuNo) { Util_NikomaKankei.MakeKoumokuBangoHairetu_Subete(ky, Util_NikomaKankei.KoumokuBangoHairetu1); Increase((Hyokati)( -(int)Util_NikomaKankei.Kazoeru_NikomaKankeiHyokati_ItiTaiTa_SabunKosinYou(ky, koumokuNo, Util_NikomaKankei.KoumokuBangoHairetu1)//評価値 )); } } }