我正在制作一个小型 java 游戏,我必须使用双命名电池。它定期减少,有时会增加。这是我的方法:
public void agirBatterie() {
for(Element e:elementsTableau){
if(e instanceof Spire){
System.out.println("before : "+((Spire)e).getBatterie());
((Spire)e).diminuerBatterie();
System.out.println("after: "+((Spire)e).getBatterie());
if(((Spire)e).isAugmentationBatterie()){
((Spire)e).augmenterBatterie();
}
}
}
i =0;
}
diminuerBatterie 方法执行batterie - -,而augmenterBatterie 方法执行batterie =batterie +10。如果它有帮助,这个方法每秒被调用大约 6 次。当我执行它时,我得到这样的东西:
before: 82.0
after : 81.0
before : 92.0
after : 91.0
before : 81.0
after : 80.0
我不明白为什么电池会减少,然后取回它的旧值,而没有其他方法使用这个变量。谢谢您的帮助
编辑:这里是diminuerBatterie()
和augmenterBatterie()
方法:
public void augmenterBatterie() {
batterie = batterie+10;
augmentationBatterie = false;
}
public void diminuerBatterie() {
if(batterie>0){
batterie--;
}
}