C++でPacManのマップを作成する方法を教えてください。mを始めるための提案はありますか?
よろしくお願いします。
これは非常に幅広い質問であり、追加の要件によって異なります。基本的には、セルを単純に表す2次元配列を使用します。各セルには次のいずれかが含まれます。
モンスターとパックマン自体はマップに表示されません。代わりに、それぞれがマップ内で自分の位置を持っている必要があります。
これにはC++は必要ありません。必要なのはCだけですが、意図的にC ++ソリューションが必要な場合は、配列をベクトル、この場合はベクトルのベクトルに置き換えることができます。
モンスターはどのように動くのでしょうか
マップ内のポイントBからポイントAに到達する場合は、 A *アルゴリズムなど、マップ内の最短パスを見つけるさまざまなアルゴリズムのいずれかを使用できます。ただし、この場合、いくつかの点を考慮する必要があります。
モンスターが「交差点」に到達したときに、パックマン自体に対する一般的なバイアスとともに、いくつかのランダムな決定を使用することをお勧めします。したがって、モンスターが東、西、北のように3つの方向にあり、パックマンが北にある場合、北に40%、東に30%、30の確率でランダムに決定します。 % 西に。
ヒントは次のとおりです。
// 1 = wall
// 0 = no wall
int map[6][6] = {{ 1, 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 1 }};