Siempre he querido escribir un mundo simple en Java, pero que luego podía ejecutar el 'mundo' y luego agregar nuevos objetos (que no funcionaban) existe en el momento en que el mundo comenzó a correr) en una fecha posterior (para simular/observar diferentes comportamientos entre objetos futuros).necesito diseño/patrón/estructura ayuda en la codificación de un 'mundo' de Java
El problema es que no quiero detenerme ni reiniciar el mundo una vez que se ha iniciado, quiero que se ejecute durante una semana sin tener que recompilarlo, pero tengo la capacidad de colocar objetos y rehacer/reescribir/eliminar/crear/mutar a lo largo del tiempo.
El mundo podría ser tan simple como una matriz de 10 x 10 de x/y 'ubicaciones' (piense en tablero de ajedrez), pero supongo que necesitaría algún tipo de proceso ticktimer para monitorear objetos y darles a cada uno (si hubiera) oportunidad de 'actuar' (si lo desean).
Ejemplo: Codigo World.java
el lunes y lo dejo en funcionamiento. Luego, el martes, escribo una nueva clase llamada Rock.java
(que no se mueve). Luego lo dejo (de alguna manera) en este mundo que ya funciona (que simplemente lo deja en algún lugar aleatorio en la matriz de 10x10 y nunca se mueve).
Luego, el miércoles creo una nueva clase llamada Cat.java
y la dejo caer al mundo, nuevamente colocada al azar, pero este nuevo objeto puede moverse alrededor del mundo (en una unidad de tiempo), luego el jueves escribo una clase llamada Dog.java
que también se mueve pero puede 'actuar' en otro objeto si está en la ubicación vecina y viceversa.
Aquí está la cosa. No sé qué clase de estructura/diseño necesitaría para codificar la clase mundial real para saber cómo detectar/cargar/rastrear objetos futuros.
¿Alguna idea de cómo harías algo como esto?
¡Huelo un barro en la fabricación! – Orbit
¿Hay alguna posibilidad de que deba volver a soltar la misma clase (modificada)? ¿O solo vas a perder nuevas clases? – cherouvim
inicialmente, estaba pensando en nuevas clases, pero sin duda si veo que un objeto existente se está volviendo un poco loco, entonces sí, me gustaría modificarlo (y todas sus instancias) y luego volver a introducirlo en el mundo para observar su comportamiento para otro semana más o menos. – d33j