Je cherche des idées sur la façon de faire ce qui suit: Je veux écrire un simple "monde" en Java. Un que je pourrais commencer et ajouter de nouveaux objets plus tard à une date ultérieure pour simuler / observer différents comportements entre des objets existants. Le plan est alors de coder les nouveaux objets après avoir regardé les anciens pendant un certain temps, puis de les charger / déposer dans le monde existant. Le problème est que je ne veux jamais arrêter ou redémarrer le monde une fois qu'il a démarré, je veux qu'il fonctionne pendant quelques semaines mais j'ai besoin de pouvoir déposer des objets et les refaire / réécrire / supprimer / créer / muter au fil du temps sans avoir besoin d'un redémarrage. Le monde pourrait être aussi simple qu'un tableau 100 x 100 d'emplacements X / Y, avec une possible interface graphique en mosaïque pour représenter visuellement le monde. Je sais que j'ai besoin d'une sorte de processus de minuterie pour surveiller les objets et donner à chacun une «chance d'agir»
Exemple: j'ai codé World.java lundi et je le laisse tourner. Mardi, j'écris une nouvelle classe appelée Rock.java (qui ne bouge pas). Je le charge / le dépose ensuite (d'une manière ou d'une autre?) Dans ce monde déjà en cours d'exécution (qui le dépose simplement quelque part au hasard dans le tableau des mondes et ne se déplace jamais). Mercredi, je crée une nouvelle classe appelée Cat.java et la laisse tomber dans le monde, à nouveau placée au hasard, mais ce nouvel objet peut se déplacer dans le monde (sur une certaine unité de temps), puis jeudi j'écris une classe appelée Dog. java qui se déplace également mais peut «agir» sur un autre objet s'il se trouve à l'emplacement voisin et vice versa.
Voici le truc. Je ne sais pas quel type de structure / conception j'aurais besoin pour coder la classe mondiale réelle pour savoir comment détecter / charger / suivre les objets futurs (et actuellement non existants).
Des idées sur la façon dont vous feriez quelque chose comme ça en utilisant Java?