對於基於回合的遊戲(網格類似於國際象棋棋盤),我有一個方形網格,但是根據您是否將對手棋子至少重疊了一次,遊戲中的棋步是不同的。如何在回合制遊戲中存儲遊戲棋子的路徑?
也就是說,如果你還沒有重疊在最外面的網格(擊敗任何對手的走卒)如下
alt text http://img17.imageshack.us/img17/4508/squaregrid7x7home.png
如果你舔你的對手的棋子至少一次,然後你到達回家,這樣。所有他的所有棋子到達「家」的球員首先獲勝。
alt text http://img249.imageshack.us/img249/318/squaregrid7x7movesimple.png
黃色的那些是藏身處,即對手棋子和玩家的棋子都住進了同一電網,這是不被認爲是研磨(對手)。該搭接棋子將返回到它的起點。
現在問題是,什麼是有效的方式來存儲所有pawn的路徑。我們將有4個pawn的玩家和4個對手pawn。
有沒有什麼模式以優雅的方式存儲這樣的靜態信息?
感謝您的時間
棋子是否總是圍繞遊戲棋盤在設定的路徑上移動?每個空格是否從開始到結束順序編號(即使編號未顯示在屏幕上,它可能在數據結構中)?看上面的例子,如果你只是存儲了編號空間的列表(例如45,48,6,0,...),那麼棋子似乎會任意移動,而不是朝着某個目標移動。如果空格按順序編號,則很容易確定一個棋子是否搭疊(超越)另一個棋子,因爲lapper的最近位置將高於lapee的最近位置。 – 2010-05-22 01:41:29
是的,棋子總是在設定的路徑中移動。 空間內部編號,我們需要跟蹤典當位置,因爲只有當對手典當被重疊時,典當纔會進入內部循環(36,38 ..) – panzerschreck 2010-05-22 15:42:12