このWeb サイトに従って、16 ビット整数の 2 次元配列で迷路を表現したいと考えています。
各 16 ビット整数は、次の情報を保持する必要があります。
これを行う 1 つの方法を次に示します (これが唯一の方法ではありません)。12x16 の迷路グリッドは、16 ビット整数の配列 m[16][12] として表すことができます。各配列要素には、グリッド内の対応する 1 つのセルのすべての情報が含まれ、整数ビットは次のようにマップされます。
(ソース: mazeworks.com )壁を壊したり、境界線を設定したり、特定のパスを作成したりするには、1 つまたは 2 つの配列要素のビットを反転するだけです。
16 ビット整数でビットごとのフラグを使用して、これらのビットのそれぞれを設定し、それらが設定されているかどうかを確認するにはどうすればよいですか。
簡単に読める方法 (つまり、Border.W、Border.E、Walls.N など) でそれを行いたいと思います。
これは一般的にC++でどのように行われますか? それぞれを表すために 16 進数を使用する必要がありますか (つまり、Walls.N = 0x02、Walls.E = 0x04 など)? 列挙型を使用する必要がありますか?
単一のビットをどのように設定、クリア、およびトグルしますか?も参照してください。.