2011-08-23 98 views
1

我在下面的代碼中遇到問題。當用戶選擇一個RadioButton(例如重新加載)並點擊提交按鈕時,我想讓屏幕上的一個彈藥計數器增加1.在一個RadioButton選擇「火焰」時,我希望彈藥計數器減少1。爲什麼我的變量不能正確計數?

我遇到的問題是彈藥計數器似乎是一個背後的用戶選擇。所以:

  • 彈藥計數= 1:用戶選擇重新加載
  • 彈藥計數= 1:用戶選擇 重載
  • 彈藥計數= 2:用戶選擇火
  • 彈藥計數= 3:用戶選擇 重新加載
  • 彈藥計數= 2:

^^看到,彈藥計數是始終如一一個用戶選擇的後面。我怎樣才能解決這個問題?

namespace ShotgunApp 
{ 
    public partial class SingleGame : PhoneApplicationPage 
    { 
     public static class AmmoCount 
     { 
      public static int userAmmo = startVars.startAmmo; 
      public static int geniusAmmo = startVars.startAmmo; 
     } 


     public SingleGame() 
     { 
      InitializeComponent(); 
      GeniusAmmo.Text = "ammo: " + AmmoCount.geniusAmmo; 
      UserAmmo.Text = "ammo: " + AmmoCount.userAmmo; 


     } 

     private void submit_Click(object sender, RoutedEventArgs e) 
     { 
      Move(); 
     } 

     public void Move() 
     { 
      if (uReload.IsChecked.HasValue && uReload.IsChecked.Value == true) 
      { 
       UserAmmo.Text = "ammo: " + AmmoCount.userAmmo++; 

      } 
      else if (uShield.IsChecked.HasValue && uShield.IsChecked.Value == true) 
      { 

      } 
      else if (uFire.IsChecked.HasValue && uFire.IsChecked.Value == true) 
      { 
       UserAmmo.Text = "ammo: " + AmmoCount.userAmmo--; 
      } 
      else 
      { 

      } 
     } 
    } 
} 

回答

5

AmmoCount.userAmmo++AmmoCount.userAmmo--(後綴運算符)的遞減與遞增正確的變量,但他們回到以前的不變值。

您應該使用前綴運算符:(++AmmoCount.userAmmo)(--AmmoCount.userAmmo)

+0

感謝一噸,它的工作! –

相關問題