IBMには、RoboCodeと呼ばれる無料の学習Javaプログラムがあります。このプログラムでは、2D空間で戦闘を行うカスタムロボットを作成できます。そのようなロボットをサポートする環境を書きたいのですが、どのパターンやデザインを使うべきかわかりません。各ロボットはスレッドです。各スレッドには、JREによって一定の(不確定な)実行時間が与えられます。ロボットワールドエンジンは、プレーヤー/ロボットのリストを作成することから始め、次に各プレーヤーが好きなことを順番に実行できるようにするループに入ります。前進、左折、北西の角に向かって発射します。各ロボットには、関心のあるイベントも通知されます。敵または複数の敵が範囲内にいる、弾丸が当たったなどです。
イベントリスナーでもある(プロデューサーでもある)スレッドの処理の組み合わせは、私を混乱させます。ゲームエンジンにはまだまだあるようです。いくつかの一般的なアイデアでさえ役立つでしょう。