爲了好玩,我一直在用C++編程風險克隆,我需要一些關於區域/ Continents部分的幫助。設置它們,以便他們知道哪些地區與他們相鄰,哪些是大陸分裂的,誰目前控制着它,當然還有當前的軍隊數量。同樣,大洲需要知道其中的所有領土,因此控制整個歐洲大陸的玩家將獲得該大陸的相應強化獎勵。C++中的區域風險克隆
目前,我認爲使用std::set
可能是最好的選擇,但我需要一些關於如何設置它的建議。
爲了好玩,我一直在用C++編程風險克隆,我需要一些關於區域/ Continents部分的幫助。設置它們,以便他們知道哪些地區與他們相鄰,哪些是大陸分裂的,誰目前控制着它,當然還有當前的軍隊數量。同樣,大洲需要知道其中的所有領土,因此控制整個歐洲大陸的玩家將獲得該大陸的相應強化獎勵。C++中的區域風險克隆
目前,我認爲使用std::set
可能是最好的選擇,但我需要一些關於如何設置它的建議。
您可以考慮使用boost graph庫來製作國家圖。然後,一個std::map
可能會將國家帶到大陸,或者將std::multimap
帶到另一個方向。
創建一個圖形,其中每個Territory對象具有與其相鄰的其他領土的數組(矢量/其他)。然後爲每個大陸都有一個Continent對象,其中有一個屬於它的地區列表。
每回合結束時,檢查一下大陸的所有地區是否都屬於同一個玩家,如果是,則給予該玩家由該大陸定義的額外資源。這些領地本身將在每次戰鬥結束後更新。
an std::vector
應該是綽綽有餘,不需要複雜的事情。
你是什麼意思,「設置」? 'std :: set x;'。 –
聽起來就像在http://gamedev.stackexchange.com/ –
上問一個典型的好問題'std :: set'針對快速插入/刪除/按值查找進行了優化。你可能更喜歡'std :: vector>'。 –