为什么我的整数需要两次尝试才能正确减去?
Why does my interger take two tries to properly subtract?
我是一个新手 Java 程序员正在编写一个类似于 Minecraft 游戏的小游戏,除了图形将是轻量级的并且游戏的主题是中世纪。我目前正在研究工具耐用性和 score/experience 计算。但是我在工具耐用性方面遇到了麻烦。镐的耐久度为100,即int pickaxe = 100。在游戏中,你可以开采10个资源或50个资源。无论你尝试什么,第一次开采时,耐久度将保持在 100,资源将添加到初始资源中,或 int resources = 150。然而,在你开采资源的任何其他时间,它都会适当地减去。资源的添加工作完美,只是耐用性下降了。这对我来说很不寻常。如果有帮助,我正在使用 Java JDK 1.8.0_05 on Windows 7 Home Premium with 4 GB of ram and 1 TB of space 我正在使用Netbeans IDE 8.0.1开发本程序。感谢您花时间阅读这个问题。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try{
AudioInputStream audioInputStream =AudioSystem.getAudioInputStream(this.getClass().getResource("select.wav"));
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start( );
}
catch(Exception ex) {}
resources = resources + 10;
JOptionPane.showMessageDialog(null, "Your remaining pickaxe use is:");
JOptionPane.showMessageDialog(null, pickaxe);
score = score + 50;
pickaxe = pickaxe - 10;
JOptionPane.showMessageDialog(null, "Your resource balace");
JOptionPane.showMessageDialog(null, resources);
if (pickaxe < 0) {
JOptionPane.showMessageDialog(null, "You need more pickaxe use! Adding More for 15 Resources!");
resources = resources - 15;
pickaxe = 100;
}
}
你的问题很简单,你在显示你的 Pickaxes 用法后进行了上述减法:
resources = resources + 10;
JOptionPane.showMessageDialog(null, "Your remaining pickaxe use is:");
JOptionPane.showMessageDialog(null, pickaxe);
score = score + 50;
这需要在显示之前发生:
pickaxe = pickaxe - 10;
JOptionPane.showMessageDialog(null, "Your resource balace");
JOptionPane.showMessageDialog(null, resources);
希望对您有所帮助。
我是一个新手 Java 程序员正在编写一个类似于 Minecraft 游戏的小游戏,除了图形将是轻量级的并且游戏的主题是中世纪。我目前正在研究工具耐用性和 score/experience 计算。但是我在工具耐用性方面遇到了麻烦。镐的耐久度为100,即int pickaxe = 100。在游戏中,你可以开采10个资源或50个资源。无论你尝试什么,第一次开采时,耐久度将保持在 100,资源将添加到初始资源中,或 int resources = 150。然而,在你开采资源的任何其他时间,它都会适当地减去。资源的添加工作完美,只是耐用性下降了。这对我来说很不寻常。如果有帮助,我正在使用 Java JDK 1.8.0_05 on Windows 7 Home Premium with 4 GB of ram and 1 TB of space 我正在使用Netbeans IDE 8.0.1开发本程序。感谢您花时间阅读这个问题。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try{
AudioInputStream audioInputStream =AudioSystem.getAudioInputStream(this.getClass().getResource("select.wav"));
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start( );
}
catch(Exception ex) {}
resources = resources + 10;
JOptionPane.showMessageDialog(null, "Your remaining pickaxe use is:");
JOptionPane.showMessageDialog(null, pickaxe);
score = score + 50;
pickaxe = pickaxe - 10;
JOptionPane.showMessageDialog(null, "Your resource balace");
JOptionPane.showMessageDialog(null, resources);
if (pickaxe < 0) {
JOptionPane.showMessageDialog(null, "You need more pickaxe use! Adding More for 15 Resources!");
resources = resources - 15;
pickaxe = 100;
}
}
你的问题很简单,你在显示你的 Pickaxes 用法后进行了上述减法:
resources = resources + 10;
JOptionPane.showMessageDialog(null, "Your remaining pickaxe use is:");
JOptionPane.showMessageDialog(null, pickaxe);
score = score + 50;
这需要在显示之前发生:
pickaxe = pickaxe - 10;
JOptionPane.showMessageDialog(null, "Your resource balace");
JOptionPane.showMessageDialog(null, resources);
希望对您有所帮助。