Ich bin ein Spiel zu schaffen, und ich bin in diesem Problem fest:Java Callback-Funktion oder statische Klasse
Ich habe die Klasse Spiel und im Spiel, habe ich die Küche. Wenn der Spieler zum Beispiel:/neues Ei ich tue: game.kitchen.newEgg()
Ich würde gerne wissen, was der beste Weg ist, und wie ich das Spiel benachrichtigen kann, dass das Ei fertig ist.
Ich habe versucht, die Klasse Spiel als statisch, aber es scheint nicht korrekt.
Ich habe auch versucht, alle 1 Sekunde, um das Spiel Call kitchen.isReady() (weder diese wie korrekt aussieht)
und mein letzter Versuch war ein Consumer wie folgt erstellen:
public class Kitchen {
public void newEgg(String name, Consumer<String> function){
System.out.println("egg is in progress");
try {
Thread.sleep(2000);
} catch (Exception e) {
e.printStackTrace();
}
function.accept(name);
}
}
und in der Spiel:
Alle Baummethoden arbeiteten, aber ist das der richtige Weg zu tun? Wie soll ich es machen? Was ist die beste Lösung für ein Spiel?
Es ist noch unklar, was Ihre Absichten sind. Erwähnen Sie, dass es sich um gleichzeitige Programmierung handelt, und beschreiben Sie jede Ihrer aktiven Entitäten. –
Sie rufen nirgendwo 'newEgg()' auf. Und wo ist 'ei.applyFunction()'? Und wo genau stecken Sie fest? – shmosel
Ich habe die Methodennamen korrigiert. Es tut uns leid. @ E_net4: Ich habe den Motor (Spiel), der eine Küche enthält. Die Küche ist verantwortlich für das Ei. und wenn es fertig ist, möchte ich das Spiel aus einigen Gründen benachrichtigen (aktualisiere die Benutzerpunkte, verringere das Geld ... etc ...) Meine Frage ist: Was ist der beste Weg dazu? Einer meiner Vorschläge? andere Sache komplett anders? danke. –