1

--

編集:これに対する「正しい」答えは、現時点では少し前進する必要があることに気づきました。現時点では、ゲームに何かを追加することに集中したいと思います。最高のセーブ/ロード システムを作ることではありません。私はあなたの提案を受け入れました。あなたは、将来やるべき多くの素晴らしいことについて私の心を開いてくれました。主に保存されたデータのラベル付け (おそらく XML を使用)。とりあえず、開発のこの段階で機能するように、いくつかのプリミティブ関数を追加します。

--

これを行うための論理的で優れた方法を打ち出す助けが必要です。これは、c++ と SDL を使用して作成しているゲーム用です。セーブ/ロードに関するヘルプが必要です。基本的に、ゲームを保存すると、常にそこにあるものがあります(プレーヤー名、位置、金など)。ただし、統計、装備アイテム、インベントリ内のアイテムなど、動的に保存されるコンテンツもあります (将来的には、完了したクエストもここに保存されます)。

このデータを保存するのに問題はありません。簡単です。私が抱えている問題は、データを読み取るときにブレークポイントを構造化する方法です。これは、セーブファイルがどのように見えるかの例です:

CharName (常に保存される位置のようないくつかの変数) (最初の statMap は、マップからフェッチされたこの "string int" のように見えます) (2 番目の statMap、それは同じです) (装備アイテム、1 つのアイテムは 3 つの部分に分割されます"string name int ID string description") (インベントリ内のアイテム、前回と同じ)

私の例を理解していただければ幸いです。これを構造化するための論理的な方法を理解する助けが欲しいです。各動的シーケンスを文字で終了し、その文字までの行を文字列にロードすることを考えています。次に、その文字列をいくつかの部分に分割します。しかし、それは途方もない量のステップのように聞こえます。手伝ってくれませんか?

4

1 に答える 1

0

ゲームでデータファイルを構造化するための非常に一般的な方法は、ヘッダーと本文を使用することです。ヘッダーでは、オフセットに基づいて本文のコンテンツの構造を定義します。

たとえば、文字統計のデータはオフセット 10054 から始まり、2120 文字続きます (これを機能させるには、標準の文字サイズを定義して使用する必要があります)。

次に、ヘッダーを読み取って構造を取得し、指定された領域からデータをロードします。

于 2012-10-29T10:00:44.437 に答える