IBM 有(拥有)一个名为 RoboCode 的免费学习 Java 程序,可以在其中编写自定义机器人,然后在 2D 空间中进行战斗。我想写支持这种机器人的环境,但不知道用什么模式或设计。每个机器人都是一个线程。JRE 为每个线程分配了一定的(不确定的)运行时间。机器人世界引擎会首先建立一个玩家/机器人列表,然后进入一个循环,让每个玩家轮流做任何喜欢的事情:向前移动,向左转,向西北角开火,等等。每个机器人还被告知感兴趣的事件:一个或多个敌人在范围内,它被子弹击中等。
处理线程的组合也是事件侦听器(它们也是生产者吗?)让我感到困惑;似乎游戏引擎还有更多内容。即使是一些一般性的想法也会有所帮助。