0

成功率に基づいた犯罪機能を持つゲームを作成しています。プレイヤーがアクションを実行すると、成功率が上昇します。

現在、成功したアクションと失敗したアクションに基づいてランダムな % を生成します。ただし、これにより、ページをロードするたびにパーセンテージが変化します。アクションがコミットされた後、このパーセンテージを静的にする方法はありますか?

これは私のコードです:

コントローラ:

private ViewModelCrime GetChances(UserGangster gangster) {
        var cm = new ViewModelCrime();
        for (int i = 1; i < 10; i++) {
            cm.SelectedCrime = (ViewModelCrime.Crime)i;
            double d6 = (cm.ChanceMultiplier * gangster.GansterStatistic.CrimesSuccess     * (_rnd.Next(90, 105) / 100)) + ((cm.ChanceMultiplier *     gangster.GansterStatistic.CrimesFailed / (_rnd.Next(380, 420) / 100)));
            double finalD2 = LimitSuccesPercentage(cm.SelectedCrime, d6);

            cm.SuccesPercentage.Add((ViewModelCrime.Crime)i, finalD2);

モデル:

public double ChanceMultiplier {
        get {
            switch (SelectedCrime) {
                case Crime.Crime01:
                    return 0.1;
                case Crime.Crime02:
                    return 0.08;
                case Crime.Crime03:
                    return 0.04;
                case Crime.Crime04:
                    return 0.0035;
                case Crime.Crime05:
                    return 0.0015;
                case Crime.Crime06:
                    return 0.0008;
                case Crime.Crime07:
                    return 0.0005;
                case Crime.Crime08:
                    return 0.0002;
                case Crime.Crime09:
                    return 0.0001;
                default:
                    return 0.0001;

            }
        }
    }

    public Dictionary<Crime, double> SuccesPercentage{
        get { return _succesPercentage; }
        set { _succesPercentage = value; }

ビューでは、1 行を使用して % を表示します

意見:

@string.Format("{0:P0}",Model.SuccesPercentage[(ViewModelCrime.Crime)9])

どんな助けでも大歓迎です!

4

0 に答える 0