私は現在、SDL を使用して C++ で小さなグリッド ベースのゲームを構築しています。マップ上の個々のタイルを表すタイル クラスを作成しました。このタイル クラスは 2 次元ベクトルで使用されます。一方の次元は X 軸を表し、もう一方の次元は Y 軸を表します。
アルゴリズムに問題があります。どこから始めればよいかさえわかりません。たとえば、次のマップがあるとします。
0 0 1 1 0 E
0 0 0 1 0 1
0 C 0 1 0 1
0 1 0 1 0 1
0 1 1 1 1 1
C は私のキャラクター、E は出口、1 は床タイルです。
キャラクターが出口にたどり着く方法があるかどうかを判断するための最適な方法を見つけたいと思います。関数を使用して、C の周りのすべてのタイルを手動でチェックできることはわかっています。C の周りのすべてのフロア タイルについて、E に到達するための一貫したパスが見つかるまで、すべてのタイルをもう一度チェックしますが、それはあまり最適ではないようです。
自分を向ける手がかりや何らかの方向性を知ることができますか?