取り組んでいるゲームがあります。テキストベースのRPGアドベンチャーゲームです。単純なテキスト コマンドを使用して、プレイヤーが世界をナビゲートできるようにしたいと考えています。世界が「地域」または配列に分割されるように設定しました。各領域は、カスタム データ型 Location であり、2 次元配列で構成されます。プレイヤーの位置を追跡するために 2 つの変数を使用します。これは、実際には「地域」グリッド上のスポット位置の 2 つのインデックス値です。プレーヤーが「北」、「南」、「東」、「西」などの方向コマンドを入力すると、これらの値が増減してプレーヤーが「移動」します。移行ゾーンに到達すると、別の「地域」に移動します。私はすべての地域を保持する配列を持つことができると考えていました。移行ゾーンは、マスター配列のインデックスを上げたり下げたりして、次のゾーンに「移行」するだけです。もちろん、トランジション スペースには、次のリージョンのグリッド上でプレイヤーが最終的に到達する場所を格納する値を持たせます。この「マスター配列」を作成して領域配列を保持する方法を考えていました。私が十分に説明していないことがあるかどうか尋ねてください。前もって感謝します。
struct Location
{
int type, destX, destY;
// 1 = battlefield
// areas where random encounters will at some future date occur
// 2 = town
// areas where hopefully the foolhardy adventurer will be able to speak
// to merchants and towns folk
// 3 = dungeon
// areas with long travel times and the promise of an end boss
// but more importantly really awesome loot
// 4 = transition points
//
string name, desc;
};
これが私がそれを想像した方法です。
EgForest
[][][]
[][][]
[][][]
^
トランジション ゾーンは、格納された値 destX と destY を使用して、プレーヤーを次の「地域」の目的地に移動します
SRavine
このスポットは目的地です
V
[][ ][][][][][][]
[][][][][][]
[][]
[][][][]