2011-10-14 75 views
0

爲了好玩,我一直在用C++編程風險克隆,我需要一些關於區域/ Continents部分的幫助。設置它們,以便他們知道哪些地區與他們相鄰,哪些是大陸分裂的,誰目前控制着它,當然還有當前的軍隊數量。同樣,大洲需要知道其中的所有領土,因此控制整個歐洲大陸的玩家將獲得該大陸的相應強化獎勵。C++中的區域風險克隆

目前,我認爲使用std::set可能是最好的選擇,但我需要一些關於如何設置它的建議。

+2

你是什麼意思,「設置」? 'std :: set x;'。 –

+0

聽起來就像在http://gamedev.stackexchange.com/ –

+0

上問一個典型的好問題'std :: set'針對快速插入/刪除/按值查找進行了優化。你可能更喜歡'std :: vector>'。 –

回答

2

您可以考慮使用boost graph庫來製作國家圖。然後,一個std::map可能會將國家帶到大陸,或者將std::multimap帶到另一個方向。

3

創建一個圖形,其中每個Territory對象具有與其相鄰的其他領土的數組(矢量/其他)。然後爲每個大陸都有一個Continent對象,其中有一個屬於它的地區列表。

每回合結束時,檢查一下大陸的所有地區是否都屬於同一個玩家,如果是,則給予該玩家由該大陸定義的額外資源。這些領地本身將在每次戰鬥結束後更新。

an std::vector應該是綽綽有餘,不需要複雜的事情。