私はチュートリアルに従って Java でボンバーマンをプログラミングしています (これは私の最初のゲームです)。チュートリアルでは、衝突を検出するための次のコードを提案しています。
for (int p=0; p<entities.size(); p++) {
for (int s=p+1; s<entities.size(); s++) {
Entity me = (Entity) entities.get(p);
Entity him = (Entity) entities.get(s);
if (me.collidesWith(him)) {
me.collidedWith(him);
him.collidedWith(me);
}
}
ここまでで、entitiesは敵とプレイヤーを含む配列リストです。プレイヤーが壁に衝突したことも検出したいので、レベル内のすべての壁またはレンガ タイルをエンティティ配列リストに入れる必要がありますか? もしそうなら、このアルゴリズムは非常に非効率的ではありませんか? これらのタイルは他のタイルと衝突することはないので、ゲーム エンティティを別のリストで管理することを考えていました。何を指示してるんですか?それを行うためのより効率的なアルゴリズムはありますか?
注: 2D ゲームでの衝突に関する他の質問は既に読みました。どうもありがとう。