Saya sedang mencari ide tentang bagaimana melakukan hal berikut: Saya ingin menulis "dunia" sederhana di Jawa. Yang saya bisa mulai dan kemudian menambahkan objek baru di kemudian hari untuk mensimulasikan / mengamati perilaku yang berbeda antara objek yang ada. Rencananya adalah untuk membuat kode objek yang lebih baru setelah menonton yang lama untuk sementara dan kemudian memuat / menjatuhkannya ke dunia yang ada. Masalahnya adalah bahwa saya tidak ingin menghentikan atau memulai kembali dunia setelah dimulai, saya ingin menjalankannya selama beberapa minggu, tetapi saya memang membutuhkan kemampuan untuk menjatuhkan objek dan mengulang / menulis ulang / menghapus / membuat / mengubah mereka dari waktu ke waktu tanpa perlu reboot. Dunia bisa sesederhana array 100 x 100 lokasi X / Y, dengan GUI peta keramik yang mungkin untuk secara visual mewakili dunia. Saya tahu saya perlu semacam proses ticktimer untuk memantau objek dan memberikan masing-masing 'kesempatan untuk bertindak'
Contoh: Saya membuat kode World.java pada hari Senin dan membiarkannya tetap berjalan. Kemudian pada hari Selasa saya menulis kelas baru yang disebut Rock.java (itu tidak bergerak). Saya kemudian memuat / menjatuhkannya (entah bagaimana?) Ke dunia yang sudah berjalan ini (yang hanya menjatuhkannya ke suatu tempat acak dalam array dunia dan tidak pernah bergerak). Kemudian pada hari Rabu saya membuat kelas baru bernama Cat.java dan menjatuhkannya ke dunia, sekali lagi ditempatkan secara acak, tetapi objek baru ini dapat bergerak di seluruh dunia (dalam beberapa satuan waktu), kemudian pada hari Kamis saya menulis kelas yang disebut Dog. java yang juga bergerak tetapi dapat 'beraksi' pada objek lain jika berada di lokasi tetangga dan sebaliknya.
Ini masalahnya. Saya tidak tahu seperti apa struktur / desain yang saya perlukan untuk mengkodekan kelas dunia yang sebenarnya untuk mengetahui cara mendeteksi / memuat / melacak objek di masa depan (dan saat ini tidak ada).
Ada ide tentang bagaimana Anda akan melakukan sesuatu seperti ini menggunakan Java?