/// <summary> /// 1回ボタンを押すたびに。 /// </summary> /// <param name="pushedCount"></param> /// <param name="value">調整量</param> public static void Up_Bairitu_AtStep(ref bool ref_isRequestDoEvents, Uc_Main uc_Main, int pushedCount, ref float value) { if (uc_Main.TyoseiryoSettings.BairituUpDic_AtStep.ContainsKey(pushedCount)) { Util_Tyoseiryo.Up_Bairitu(ref ref_isRequestDoEvents, ref value, uc_Main, uc_Main.TyoseiryoSettings.BairituUpDic_AtStep[pushedCount]); } }
/// <summary> /// 調整量の自動調整。 /// /// 局面評価が終わったときに、調整量を自動でクールダウンします。 /// </summary> /// <param name="pushedCount"></param> /// <param name="value">調整量</param> public static void Up_Bairitu_AtEnd(ref bool ref_isRequestDoEvents, Uc_Main uc_Main, int pushedCount, ref float value) { float bairitu = 1.0f; // 倍率の最高値は、1.0 とします。 if (uc_Main.TyoseiryoSettings.BairituCooldownDic_AtStep.ContainsKey(pushedCount)) { // 倍率の最小値は、0.1 ? bairitu = uc_Main.TyoseiryoSettings.BairituCooldownDic_AtStep[pushedCount]; } if (1.0f != bairitu)//1.0なら変化がないのでパス。それ以外の場合、調整。 { Util_Tyoseiryo.Up_Bairitu(ref ref_isRequestDoEvents, ref value, uc_Main, bairitu); } }
///// <summary> ///// 調整量を、54要素リストの要素に均等に分配できる数にします。 ///// </summary> ///// <param name="value">調整量</param> ///// <param name="n40t14List">パラメーターの数を調べるのに利用。</param> ///// <returns></returns> //public static float Average_54x54Parameters(float value, N40t14List n40t14List) //{ // float kizami;//刻んだ数。 // int parameterSu = n40t14List.P40Next + n40t14List.P14Next; // float nikomaKankeiPatternSu = parameterSu * parameterSu; //二駒関係のP×Pのパターン数。 // kizami = value * 1.0f / nikomaKankeiPatternSu; // return kizami; //} /// <summary> /// 調整量を更新します。倍率を掛けます。 /// </summary> /// <param name="ref_isRequestDoEvents"></param> /// <param name="value">調整量</param> /// <param name="bairitu"></param> public static void Up_Bairitu(ref bool ref_isRequestDoEvents, ref float value, Uc_Main uc_Main, float bairitu) { value *= bairitu; //増減 if (value < uc_Main.TyoseiryoSettings.Smallest) // これより細かな値にはしません。 { value = uc_Main.TyoseiryoSettings.Smallest; } else if (uc_Main.TyoseiryoSettings.Largest < value)// これより荒い値にはしません。 { value = uc_Main.TyoseiryoSettings.Largest; } uc_Main.TxtTyoseiryo.Text = value.ToString(); ref_isRequestDoEvents = true;//フォームを更新してほしい。 }