Bin auf der Suche nach Ideen, wie man folgendes macht: Ich möchte eine einfache "Welt" in Java schreiben. Eine, mit der ich später beginnen und dann neue Objekte hinzufügen könnte, um verschiedene Verhaltensweisen zwischen vorhandenen Objekten zu simulieren / zu beobachten. Der Plan ist dann, neuere Objekte zu codieren, nachdem Sie die alten für eine Weile angesehen haben, und sie dann in die bestehende Welt zu laden / fallen zu lassen. Das Problem ist, dass ich die Welt nach dem Start nicht mehr anhalten oder neu starten möchte. Ich möchte, dass sie ein paar Wochen lang ausgeführt wird, aber ich muss Objekte ablegen und sie wiederholen / umschreiben / löschen / erstellen / mutieren können im Laufe der Zeit, ohne einen Neustart zu benötigen. Die Welt könnte so einfach sein wie ein 100 x 100-Array von X / Y-Standorten, mit einer möglichen GUI mit gekachelten Karten, um die Welt visuell darzustellen. Ich weiß, ich brauche eine Art Ticktimer-Prozess, um Objekte zu überwachen und jedem eine Chance zum Handeln zu geben.
Beispiel: Ich verschlüssele World.java am Montag und lasse es laufen. Dann schreibe ich am Dienstag eine neue Klasse namens Rock.java (die sich nicht bewegt). Ich lade / lasse es dann (irgendwie?) In diese bereits laufende Welt (die es einfach irgendwo zufällig in der Weltmatrix ablegt und sich nie bewegt). Dann erstelle ich am Mittwoch eine neue Klasse mit dem Namen Cat.java und lasse diese in die Welt fallen, wieder zufällig platziert, aber dieses neue Objekt kann sich über einen gewissen Zeitraum um die Welt bewegen. Am Donnerstag schreibe ich dann eine Klasse mit dem Namen Dog. Java, das sich ebenfalls bewegt, aber auf ein anderes Objekt "einwirken" kann, wenn es sich am Nachbarort befindet und umgekehrt.
Hier ist das Ding. Ich weiß nicht, welche Art von Struktur / Design ich benötigen würde, um die tatsächliche Weltklasse zu codieren, um zu wissen, wie zukünftige (und derzeit nicht vorhandene) Objekte erkannt / geladen / verfolgt werden.
Irgendwelche Ideen, wie Sie so etwas mit Java machen würden?