我一直想用Java编写一个简单的世界,但是我可以运行"世界",然后在以后添加新对象(在世界开始运行时不存在)(模拟/观察未来物体之间的不同行为).
问题是我不希望一旦它启动就停止或重启世界,我希望它运行一周而不必重新编译它,但是能够放入对象并重做/重写/删除/创建/随着时间的推移变异.
世界可以像10 x 10 x/y'位置'一样简单(想象棋盘),但我想需要某种刻度线过程来监控对象并给每个人(如果有的话)一个机会'行动' '(如果他们想).
示例:我World.java在星期一编码并让它继续运行.然后在星期二我写了一个叫做的新课Rock.java(不动).然后我把它(以某种方式)放入这个已经运行的世界(它只是在10x10阵列中随机丢弃它并且从不移动).
然后在星期三我创建了一个新的类,Cat.java并将其放入世界,再次随机放置,但是这个新对象可以在世界各地移动(在某个单位时间内),然后在星期四我写了一个叫做Dog.java同样移动的类但是如果它位于邻居位置,则可以"操作"另一个对象,反之亦然.
这就是事情.我不知道我需要什么样的结构/设计来编写实际的世界类来知道如何检测/加载/跟踪未来的对象.
那么,关于你将如何做这样的事情的任何想法?
如果您只关心添加类(而不是修改),那么我会这样做:
Entity的所有业务方法的接口(insertIntoWorld()、、、isMovable()getName()getIcon())EntityEntity创建一个新实例并将其命名为insertIntoWorld().您还可以跳过调度程序和自动发现的事情,并在其中World指定要加载的类名的位置有一个 UI 控件。
一些问题:
Entity. 您很可能需要执行一些类加载器魔法Entity接口来添加新的业务方法,因此您必须遵守最初启动应用程序时使用的合同| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |