私は小さなジャバゲームを作っています、そして私は二重の名前のバッテリーを使わなければなりません。定期的に減少し、時には増加します。これが私の方法です:
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を実行します。それが役立つ場合、このメソッドは1秒間に約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--;
}
}