2012-05-14 56 views
0

我在這裏有一個小邏輯問題。Boardgame-Map與十字路口等

正如標題所說,我嘗試建立一個棋盤遊戲的計算機程序(可能與網絡支持,但那是另一回事)

至於現在,我有一個地圖,其中有一些十字路口因此,我不能簡單地將這些字段定義爲「1,2,3,4 ...」,因爲如果在字段10處有一個十字路口,我將有多於一個字段必須被標記爲11(因爲那時例如,場10的場左和右)。

所以問題是,如果我不能在數字中定義委員會,那麼我不能簡單地獲得當他擲出2d6-dices時可能的位置計算'Field-Nr。 + RandomRange(1,6)+ RandomRange(1,6)'

有沒有人有一個想法,如何以另一種方式定義一個像這樣的地圖,我仍然可以計算出Player X的可能的新字段一個2d6-骰子?

在此先感謝。

+0

什麼是* board *?你使用哪個組件來構建它?順便說一句,我會**從你用於每個座標的組件繼承**,並且我將它添加一個**自定義屬性**來存儲允許的方向......然後,我將訪問此屬性,而不是它的*名稱* ... – Whiler

+0

棋盤遊戲carcassone有沒有機會?無論如何,你的解釋是不夠的。我們無法說出你的意思。那麼,我不能。也許我錯過了一些東西。 –

+0

抱歉,我在評論中寫了這個... – azrael11

回答

0

相反動態數組,我會建議使用鏈表記錄描述周圍的細胞,並使用鏈表遍歷球員的位置和可能的行動。

首先,定義一個記錄,描述棋盤可玩網格中的每個單元格(網格上的單元格可以像棋盤一樣四邊形,或者像文明V中的六邊形)......每個單元格記錄應該包含這樣的信息爲座標,玩家是在該單元格,任何獎勵/危害/等會影響到遊戲,等等。(你的想法)。

最後,鏈表加入所有這些細胞,有效地指向任何連接的電池。這樣一來,所有你需要的是玩家X的小區位置和在計算可能的行動ň細胞的量(擲骰子確定),穿越相鄰小區(不具有危害,例如)。

如果你想要的是跟蹤可能的道路,你也可以用這個方法來識別(而不是細胞)的可能路徑,玩家X可以行駛。

+0

好吧,現在我明白了,我的朋友早些時候曾試圖告訴我:D非常感謝,這對我有很大的幫助。 – user1016675

+0

很高興爲您提供幫助...不要忘記選擇提供的答案之一作爲您接受的答案,這樣您就可以提高您的聲望點。 –

2

如果我沒有理解好...(我沒有事情,所以)這可能會幫助你。只需使用動態數組爲你的桌上游戲場和尺寸X後改變你的行爲,Y ....看看這個「類型名稱=的基本類型{...數組}數組; //動態數組」

1

這聽起來像你有一個連接頂點的圖。當玩家處於N個邊緣的特定頂點時,假設N < 12,則將從遍歷邊緣號N%(rand(6)+ rand(6))到達新的場。

你也可以只做到蘭特(12),但將有一個均勻分佈,不像2D6。