为了好玩,我一直在用C ++编写风险克隆,我需要一些关于领域/大陆部分的帮助。设置它们以便它们知道与它们相邻的区域,它所属的大陆区域,当前控制它的区域,当然还包括当前的大量军队。
同样,欧洲大陆需要知道其中的所有领土,因此控制整个欧洲大陆的玩家将获得该大陆的相应强化奖励。
目前,我认为使用std::set
可能是最佳选择,但我需要一些有关如何设置它的建议。
答案 0 :(得分:3)
创建一个图表,其中每个Territory对象都有一个与其相邻的其他区域的数组(矢量/其他)。然后为每个大陆都有一个Continent对象,其中包含一个区域列表。
在每个回合结束时检查一个大陆的所有地区是否都属于同一个玩家,如果是,则给该玩家提供该大陆定义的额外资源。领土本身将在每次战斗后更新。
std::vector
应该绰绰有余,不需要复杂化。
答案 1 :(得分:2)
您可以考虑使用boost graph库来制作国家/地区图表。然后std::map
可以将国家/地区带到各大洲,或std::multimap
向另一个方向转移。