Ищу идеи о том, как сделать следующее: я хочу написать простой "мир" на Java. Тот, который я мог бы запустить, а затем добавить новые объекты позже, чтобы смоделировать / наблюдать различное поведение между существующими объектами. План состоит в том, чтобы затем закодировать новые объекты после некоторого просмотра старых, а затем загрузить / выбросить их в существующий мир. Проблема в том, что я не хочу останавливать или перезапускать мир после его запуска, я хочу, чтобы он работал в течение нескольких недель, но мне нужна возможность бросать объекты и повторять / переписывать / удалять / создавать / изменять их со временем без перезагрузки. Мир может быть таким простым, как массив X / Y 100 × 100, с возможным графическим интерфейсом мозаичной карты для визуального представления мира. Я знаю, что мне нужен какой-то тиктимерный процесс, чтобы контролировать объекты и дать каждому «шанс действовать»
Пример: я кодирую World.java в понедельник и оставляю его работающим. Затем во вторник я пишу новый класс под названием Rock.java (который не двигается). Затем я загружаю / удаляю его (каким-то образом?) В этот уже работающий мир (который просто сбрасывает его в случайном порядке в массиве мира и никогда не перемещается) Затем в среду я создаю новый класс с именем Cat.java и помещаю его в мир, снова размещенный случайным образом, но этот новый объект может перемещаться по миру (в течение некоторой единицы времени), затем в четверг я пишу класс с именем Dog. Java, который также перемещается, но может «воздействовать» на другой объект, если он находится в соседнем месте, и наоборот.
Вот вещь Я не знаю, какую структуру / дизайн мне нужно было бы кодировать для реального мирового класса, чтобы знать, как обнаруживать / загружать / отслеживать будущие (и в настоящее время несуществующие) объекты.
Любые идеи о том, как вы могли бы сделать что-то подобное с помощью Java?