Szukam pomysłów, jak wykonać następujące czynności: Chcę napisać prosty „świat” w Javie. Jeden, który mógłbym rozpocząć, a następnie dodać nowe obiekty w późniejszym terminie, aby symulować / obserwować różne zachowania między istniejącymi obiektami. Planuje się następnie zakodować nowsze obiekty po pewnym czasie oglądania starych, a następnie załadować / upuścić w istniejącym świecie. Problem polega na tym, że nie chcę nigdy zatrzymywać ani restartować świata po jego uruchomieniu, chcę, aby działał przez kilka tygodni, ale potrzebuję możliwości upuszczania obiektów i ponawiania / przepisywania / usuwania / tworzenia / mutowania ich z czasem bez konieczności ponownego uruchamiania. Świat może być tak prosty, jak tablica 100 x 100 lokalizacji X / Y, z możliwym graficznym interfejsem kafelkowym, który wizualnie reprezentuje świat. Wiem, że potrzebuję pewnego rodzaju procesu ticktimer, aby monitorować obiekty i dać każdemu „szansę na działanie”
Przykład: koduję World.java w poniedziałek i zostawiam włączony. Następnie we wtorek piszę nową klasę o nazwie Rock.java (która się nie porusza). Następnie ładuję / upuszczam (jakoś?) Do tego już działającego świata (który po prostu upuszcza go gdzieś losowo w tablicy świata i nigdy się nie rusza). Następnie w środę tworzę nową klasę o nazwie Cat.java i upuszczam ją na świat, ponownie umieszczoną losowo, ale ten nowy obiekt może poruszać się po świecie (w pewnym przedziale czasu), a następnie w czwartek piszę klasę o nazwie Pies. java, która również się porusza, ale może „oddziaływać” na inny obiekt, jeśli znajduje się on w sąsiedztwie i na odwrót.
To jest ta rzecz. Nie wiem, jakiego rodzaju struktury / projektu potrzebowałbym do kodowania rzeczywistej światowej klasy, aby wiedzieć, jak wykrywać / ładować / śledzić przyszłe (i obecnie nieistniejące) obiekty.
Jakieś pomysły na to, jak zrobiłbyś coś takiego przy użyciu Java?