0

ここで少し論理的な問題があります。

タイトルが示すように、私はボードゲームをコンピューター プログラムとして構築しようとしています (おそらくインターネット サポートが必要ですが、それは別の話です)。

今のところ、交差点がいくつかあるマップがあるため、フィールドを「1、2、3、4、...」と単純に定義することはできません。フィールド 10 に交差点がある場合は、 11 とラベル付けする必要がある複数のフィールド (たとえば、フィールド 10 の左右にフィールドがあるため)。

したがって、問題は、ボードを数字で定義できない場合、プレーヤーが 2d6 サイコロを振って「フィールド番号」を計算して取ることができる位置を単純に取得できないことです。+ RandomRange(1,6) + RandomRange(1,6)'

このようなマップを別の方法で定義する方法を知っている人はいますか?

前もって感謝します。

4

3 に答える 3

2

私がよく理解していれば...(私はそうではありません)これはあなたを助けるかもしれません. ボードゲーム フィールドに動的配列を使用し、次元 x、y の後でアクションを変更するだけです .... この「型名 = {配列 ...} の配列 基本型; // 動的配列」を見てください。

于 2012-05-14T06:09:33.560 に答える
1

接続された頂点のグラフがあるように聞こえます。プレイヤーが N 個のエッジの特定の頂点にいる場合、N < 12 と仮定すると、エッジ番号 N % ( rand(6) + rand(6) ) を通過することで新しいフィールドに到達します。

rand(12) を実行することもできますが、2d6 とは異なり、均等に分散されます。

于 2012-05-14T06:15:09.817 に答える
0

動的配列の代わりに、レコードのリンクリストを使用して周囲のセルを記述し、そのリンクリストを使用してプレーヤーの場所と可能な移動をトラバースすることをお勧めします。

まず、ボードの再生可能なグリッド内の各セルを説明するレコードを定義します(グリッド上のセルは、チェス盤のように4面にすることも、Civilization Vのように六角形にすることもできます)...各セルレコードには、座標などの情報が含まれている必要があります。プレイヤーそのセルにいて、ゲームプレイなどに影響を与える報酬/ハザードなどがあります(あなたはその考えを理解します)。

最後に、リンクリストはこれらすべてのセルを結合し、接続されているセルを効果的に指し示します。そうすれば、必要なのは、プレーヤーXのセルの位置と、隣接するセル(たとえば、危険がない)を通過する、n個のセル(ダイスロールによって決定される)での可能な移動を計算することだけです。

可能性のある道路を追跡するだけの場合は、このアプローチを使用して、プレーヤーXが移動できる(セルの代わりに)可能性のあるパスを特定することもできます。

于 2012-05-15T16:15:47.877 に答える