Hallo erstmal,
Ich habe gestern mit JavaFX angefangen und wollte ein Spiel ähnlich wie Cookie Clicker programmieren.
Alle Anzeige sowie Knöpfe wurden als ich anfing von den Knöpfen "geupdated". Da es auch Pro sekunden Geld
geben sollte, wollte ich das in einen Thread der im Hintergrund läuft machen lassen.
Der Thread selbst sieht so aus:
Er wird erst gestarted nachdem Game game vom Construktor gesetzt wurde, also die Variablen entsprechend gesetzt.
Wenn ich jetzt das Programm starte sagt er mir das, das alles
Nullpoint fehler sind (habe z.b mal die if abfragen ausgeklammert dann hat er einfach woanders gemeckert deswegen geh ich davon aus das die beiden Kompletten Blöcke Fehler aufrufen)
Die Getter und Setter sind eigentlich auch richtig gemacht. Wäre gut wenn einer von euch mit helfen könnte.
Wenn ihr nochmehr Code braucht kann ich diesen "Nachreichen".
Ich habe gestern mit JavaFX angefangen und wollte ein Spiel ähnlich wie Cookie Clicker programmieren.
Alle Anzeige sowie Knöpfe wurden als ich anfing von den Knöpfen "geupdated". Da es auch Pro sekunden Geld
geben sollte, wollte ich das in einen Thread der im Hintergrund läuft machen lassen.
Der Thread selbst sieht so aus:
Java:
package org.solidteam.game;
import org.solidteam.application.Main;
public class Updater extends Main implements Runnable {
long timer;
boolean ingame;
public void run() {
while(getIngame()){
updater();
}
}
private void updater() {
timer = System.currentTimeMillis();
if(getGame().getMoney().compareTo(getGame().getCosts(0))<0){
getLayout1().getChildren().remove(getKaufButton(1));
setButtonStatus(1, false);
}
getMoneyText().setText("Geld: " + getGame().getMoney() + " Euro");
if(getGame().getMoney().compareTo(getGame().getCosts(0))>=0 && !getButtonStatus(1)){
getLayout1().getChildren().add(getKaufButton(1));
setButtonStatus(1, true);
}
while((timer+100)>System.currentTimeMillis()){
}
}
}
Wenn ich jetzt das Programm starte sagt er mir das, das alles
Code:
if(getGame().getMoney().compareTo(getGame().getCosts(0))<0){
getLayout1().getChildren().remove(getKaufButton(1));
setButtonStatus(1, false);
}
getMoneyText().setText("Geld: " + getGame().getMoney() + " Euro");
if(getGame().getMoney().compareTo(getGame().getCosts(0))>=0 && !getButtonStatus(1)){
getLayout1().getChildren().add(getKaufButton(1));
setButtonStatus(1, true);
}
Die Getter und Setter sind eigentlich auch richtig gemacht. Wäre gut wenn einer von euch mit helfen könnte.
Wenn ihr nochmehr Code braucht kann ich diesen "Nachreichen".
Zuletzt bearbeitet von einem Moderator: