Ejemplo n.º 1
0
 /// <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
                                                                                      )
                 );
         }
     }
 }
Ejemplo n.º 2
0
        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)//評価値
                                 ));
                }
            }
        }