Sto cercando idee su come fare quanto segue: Voglio scrivere un semplice "mondo" in Java. Uno che ho potuto iniziare e quindi aggiungere nuovi oggetti in un secondo momento per simulare / osservare comportamenti diversi tra oggetti esistenti. Il piano è quindi quello di codificare gli oggetti più recenti dopo aver visto quelli vecchi per un po 'e quindi caricarli / rilasciarli nel mondo esistente. Il problema è che non voglio mai fermare o riavviare il mondo una volta avviato, voglio che funzioni per alcune settimane ma ho bisogno della possibilità di rilasciare oggetti e ripetere / riscrivere / cancellare / creare / mutare nel tempo senza bisogno di riavviare. Il mondo potrebbe essere semplice come una matrice 100 x 100 di posizioni X / Y, con una possibile GUI a mappe piastrellate per rappresentare visivamente il mondo. So di aver bisogno di una sorta di processo ticktimer per monitorare gli oggetti e dare a ciascuno una "possibilità di agire"
Esempio: codifico World.java lunedì e lo lascio in esecuzione. Quindi martedì scrivo una nuova classe chiamata Rock.java (che non si muove). Quindi lo carico / rilascialo (in qualche modo?) In questo mondo già in esecuzione (che lo fa semplicemente cadere in un posto casuale nell'array mondiale e non si muove mai). Quindi mercoledì creo una nuova classe chiamata Cat.java e la lancio nel mondo, posizionandola di nuovo in modo casuale, ma questo nuovo oggetto può spostarsi in tutto il mondo (per alcune unità di tempo), quindi giovedì scrivo una classe chiamata Dog. java che si muove anche ma può "agire" su un altro oggetto se si trova nella posizione vicina e viceversa.
Ecco la cosa. Non so che tipo di struttura / design avrei bisogno di codificare l'attuale classe mondiale per sapere come rilevare / caricare / tracciare oggetti futuri (e attualmente inesistenti).
Qualche idea su come faresti qualcosa del genere usando Java?