2011-10-14 40 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应该是绰绰有余,不需要复杂的事情。