备选建筑物的id号会不会改变?
比如id为1的建筑物被选了后,在以后的回合中,id为1的建筑还存不存在?回复 1# 136204240 的帖子
你好,136204240:一个建筑的ID是唯一的,而且在一局比赛中不人发生变化。
被使用的建筑不会再出现在Constructions集合中,但可以通过GetConstructionByID方法获取。
回复 2# Iver 的帖子
你好,被使用的建筑物还会在Constructions集合中?回复 3# 136204240 的帖子
你好,136204240:不会的。
抱歉漏了两个字。
回复 4# Iver 的帖子
Construtions好像没有GetConstructionByID这个成员回复 5# 136204240 的帖子
你好,136204240:这个方法在IGameService上,可以使用传入的service实例上的这个方法。 建筑物的id不会变但是使用过的建筑会被移除出建筑列表,假设开始建筑列表中有三个建筑,id分别为1,2,3现在Player1使用了1建筑,那么轮到Player2的时候,如果Player2程序如下:
ReadOnlyCollection<IConstruction> constructions = service.Constructions as ReadOnlyCollection<IConstruction>;
IConstruction construction = constructions;
那获取的construction 是不是id为2的建筑呢? 也就是说id不变但是只读集合的索引会变 我可以这样理解么?
回复 7# Mario 的帖子
你好,Mario:你的理解基本上是正确的。
每个建筑的ID是用于区别它与其它建筑的唯一标识,这个ID在一局比赛开始时分配给每一个建筑,之后就不再改变。
使用过的建筑会被从可用建筑列表中移除。
以上两点你的理解是完全正确的。
需要注意的一点是,建筑从可用建筑列表中移除后,我们并不保证保留在该列表中的其它建筑保持原顺序,这个行为与具体的实现有关。
回复 8# Iver 的帖子
明白了。另外有个疑问,一直没搞懂旋转那块是怎么转,给的文档中的有一个例子,但是那个建筑是个“土”字型的,我想知道如果是其他不规则的建筑,旋转以哪为中心转?比如像那个俄罗斯方块里的“之”字型的那个东东的建筑回复 9# Mario 的帖子
你好,Mario:我觉得这个旋转跟俄罗斯方块中的旋转还是有区别的。
俄罗斯广场中的旋转,会有一个基准点,它可能在靠近方块中心的位置,这样旋转之后的形状中心位置基本不变。
但在我们这个游戏中,旋转仅限定了方向为顺时针,角度为90度的整数倍,并且是整个建筑布局一致地进行旋转,不管是旋转前还是旋转后,将建筑放置到地图上时,座标的基准点都是建筑布局的左上角点。
不知道这样解释你是否清楚了?
页:
[1]
2