diff --git a/VPet-Simulator.Windows.Interface/GameSave_VPet.cs b/VPet-Simulator.Windows.Interface/GameSave_VPet.cs index df64074..e4e602a 100644 --- a/VPet-Simulator.Windows.Interface/GameSave_VPet.cs +++ b/VPet-Simulator.Windows.Interface/GameSave_VPet.cs @@ -64,6 +64,24 @@ public class GameSave_VPet : IGameSave } } /// + /// 玩家总共获得的经验值数量 + /// + public double TotalExpGained() + { + double totalExp = 0; + // 首先,添加LevelMax的经验值 + for (int i = 1; i <= LevelMax; i++) + { + for (int j = 100 * i + 1; j <= 1000 + 100 * i; j++) + totalExp += 200 * j - 100; + } + // 然后,添加当前等级的经验值 + totalExp += (Level - 100 * LevelMax) * (200 * (Level - 1) - 100); + // 最后,添加剩余的经验值 + totalExp += Exp; + return totalExp; + } + /// /// 升级所需经验值 /// public int LevelUpNeed() => 200 * Level - 100; diff --git a/VPet-Simulator.Windows/WinDesign/winCharacterPanel.xaml.cs b/VPet-Simulator.Windows/WinDesign/winCharacterPanel.xaml.cs index 9e3b2e7..561b99a 100644 --- a/VPet-Simulator.Windows/WinDesign/winCharacterPanel.xaml.cs +++ b/VPet-Simulator.Windows/WinDesign/winCharacterPanel.xaml.cs @@ -43,7 +43,7 @@ namespace VPet_Simulator.Windows DataGridStatic.ItemsSource = StatList; mw.GameSavesData.Statistics.StatisticChanged += Statistics_StatisticChanged; - if (mw.GameSavesData.HashCheck && mw.GameSavesData.GameSave.Exp < int.MaxValue && mw.GameSavesData.GameSave.Money < int.MaxValue) + if (mw.GameSavesData.HashCheck) { cb_NoCheat.IsEnabled = true; if (mw.IsSteamUser) @@ -639,7 +639,7 @@ namespace VPet_Simulator.Windows r_i_timelength.Source = new BitmapImage(new Uri($"pack://application:,,,/Res/img/r_timelength_{timelength_i}.png")); r_r_level.Text = mw.GameSavesData.GameSave.Level.ToString(); - r_r_exp.Text = mw.GameSavesData.GameSave.Exp.ToString("f0"); + r_r_exp.Text = mw.GameSavesData.GameSave.TotalExpGained().ToString("f0"); r_r_studytime.Text = (mw.GameSavesData.Statistics[(gint)"stat_study_time"] / 60).ToString(); r_r_studytext.Text = studytext; r_i_exp.Source = new BitmapImage(new Uri($"pack://application:,,,/Res/img/r_level_{study_i}.png"));