我的代码问题如下。当用户选择RadioButton(例如重新加载)并单击提交按钮时,我希望屏幕中的弹药计数器增加1.在RadioButton选择“fire”时,我希望弹药计数器减1。
我遇到的问题是弹药计数器似乎是用户选择背后的一个。所以:
^^看,弹药数量一直落后于用户选择。我该如何解决这个问题?
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
{
}
}
}
}
答案 0 :(得分:5)
AmmoCount.userAmmo++
和AmmoCount.userAmmo--
(后缀运算符)正在递减和递增变量,但它们返回先前未更改的值。
您应该使用前缀运算符:(++AmmoCount.userAmmo)
和(--AmmoCount.userAmmo)
。