ゲーム内のマップ用の簡単なクラスを作成しようとしています。マップは、「タイル」構造体で作られた2次元ベクトルです。これらのタイルを行で入力/出力するための最良の方法を見つけようとしています。
たとえば、以前は.txtベースの読み込み形式を使用していました。.txtファイルは次のようになります。
1 0 2 0 0 0 2 4 5 6 3
2 4 5 0 0 0 2 0 0 3 4
0 3 5 2 5 3 0 5 5 3 4
0 2 0 5 0 6 0 5 7 8 4
次に、行ごとに移動して、各タイルのID整数を見つけます。1は草を表し、0は水を表します。パーサーが行の終わりに達すると、intの次の行にスキップします。
現在、intの代わりにバイナリファイルと構造体を使用してfwriteとfreadを介してこれを実行しようとしています。どうすればこれを行うことができますか?私が見たのは、構造体の多次元配列を格納する方法ではなく、バイナリファイルに構造体の配列を格納する方法だけです。何か案は?
編集: はい、ファイルに2Dベクトルを保存することはできますが、それでは、必要なシームレスなマップの読み込みを行うことができません。私は大きなマップファイルを持っているので、一度に10万個のタイルをロードするとCPUを占有します。