Hi, ich habe ein kleines Spiel geschrieben indem es einen Shop gibt. Allerdings funktioniert dass kaufen nicht, bzw der übergebene boolean wird nicht auf true gesetzt.
Erstellung:
Das ist der Code und der boolean buttonBought soll true werden.
Vielen Dank ^^
Erstellung:
Java:
buyInfo b = new buyInfo();
b.BuyIt(variable.bRed, variable.btnC1, 0);
Das ist der Code und der boolean buttonBought soll true werden.
Java:
public buyInfo() {
super();
mBox = new messageBox(226, variable.height, 400, 80, "");
}
public void BuyIt(boolean buttonBought, shopButton button, int select) {
if (!buttonBought) {
if (variable.coins >= button.getPrice()) {
mBox.setY(variable.height);
variable.coins -= button.getPrice();
buttonBought = true;
mBox.setText("Kauf erfolgreich!");
t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
if (!finished) {
if (mBox.getY() > variable.height - 102) {
mBox.setY(mBox.getY() - 1);
} else {
finished = true;
}
} else {
if (!wait) {
// try {
// TimeUnit.MILLISECONDS.sleep(500);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
wait = true;
} else {
if (mBox.getY() < variable.height + 1) {
mBox.setY(mBox.getY() + 1);
} else {
finished = false;
t.cancel();
}
}
}
}
}, 0, 25);
} else {
mBox.setText("Kauf fehlgeschlagen!");
t2 = new Timer();
t2.scheduleAtFixedRate(new TimerTask() {
boolean finished = false, wait = false;
@Override
public void run() {
if (!finished) {
if (mBox.getY() > variable.height - 102) {
mBox.setY(mBox.getY() - 1);
} else {
finished = true;
}
} else {
if (!wait) {
// try {
// TimeUnit.MILLISECONDS.sleep(500);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
wait = true;
} else {
if (mBox.getY() < variable.height + 1) {
mBox.setY(mBox.getY() + 1);
} else {
finished = false;
t2.cancel();
}
}
}
}
}, 0, 25);
}
} else {
variable.selected = select;
}
}
Vielen Dank ^^