找回密码
 立即注册

QQ登录

只需一步,快速开始

136204240

中级会员

13

主题

33

帖子

622

积分

中级会员

积分
622

活字格认证

136204240
中级会员   /  发表于:2012-3-7 21:58  /   查看:9674  /  回复:13
比如id为1的建筑物被选了后,在以后的回合中,id为1的建筑还存不存在?

13 个回复

倒序浏览
Iver
版主   /  发表于:2012-3-8 09:39:00
沙发

回复 1# 136204240 的帖子

你好,136204240:
一个建筑的ID是唯一的,而且在一局比赛中不人发生变化。
被使用的建筑不会再出现在Constructions集合中,但可以通过GetConstructionByID方法获取。
回复 使用道具 举报
136204240
中级会员   /  发表于:2012-3-8 10:09:00
板凳

回复 2# Iver 的帖子

你好,被使用的建筑物还会在Constructions集合中?
回复 使用道具 举报
Iver
版主   /  发表于:2012-3-8 13:01:00
地板

回复 3# 136204240 的帖子

你好,136204240:
不会的。
抱歉漏了两个字。
回复 使用道具 举报
136204240
中级会员   /  发表于:2012-3-8 14:00:00
5#

回复 4# Iver 的帖子

Construtions好像没有GetConstructionByID这个成员
回复 使用道具 举报
Iver
版主   /  发表于:2012-3-8 14:16:00
6#

回复 5# 136204240 的帖子

你好,136204240:
这个方法在IGameService上,可以使用传入的service实例上的这个方法。
回复 使用道具 举报
Mario
初级会员   /  发表于:2012-3-9 11:10:00
7#
建筑物的id不会变但是使用过的建筑会被移除出建筑列表,假设开始建筑列表中有三个建筑,id分别为1,2,3  现在Player1使用了1建筑,那么轮到Player2的时候,如果Player2程序如下:
ReadOnlyCollection<IConstruction> constructions = service.Constructions as ReadOnlyCollection<IConstruction>;
IConstruction construction = constructions[0];
那获取的construction 是不是id为2的建筑呢? 也就是说id不变但是只读集合的索引会变 我可以这样理解么?
回复 使用道具 举报
Iver
版主   /  发表于:2012-3-9 11:36:00
8#

回复 7# Mario 的帖子

你好,Mario:
你的理解基本上是正确的。
每个建筑的ID是用于区别它与其它建筑的唯一标识,这个ID在一局比赛开始时分配给每一个建筑,之后就不再改变。
使用过的建筑会被从可用建筑列表中移除。
以上两点你的理解是完全正确的。
需要注意的一点是,建筑从可用建筑列表中移除后,我们并不保证保留在该列表中的其它建筑保持原顺序,这个行为与具体的实现有关。
回复 使用道具 举报
Mario
初级会员   /  发表于:2012-3-9 11:59:00
9#

回复 8# Iver 的帖子

明白了。另外有个疑问,一直没搞懂旋转那块是怎么转,给的文档中的有一个例子,但是那个建筑是个“土”字型的,我想知道如果是其他不规则的建筑,旋转以哪为中心转?比如像那个俄罗斯方块里的“之”字型的那个东东的建筑
回复 使用道具 举报
Iver
版主   /  发表于:2012-3-9 12:08:00
10#

回复 9# Mario 的帖子

你好,Mario:
我觉得这个旋转跟俄罗斯方块中的旋转还是有区别的。
俄罗斯广场中的旋转,会有一个基准点,它可能在靠近方块中心的位置,这样旋转之后的形状中心位置基本不变。
但在我们这个游戏中,旋转仅限定了方向为顺时针,角度为90度的整数倍,并且是整个建筑布局一致地进行旋转,不管是旋转前还是旋转后,将建筑放置到地图上时,座标的基准点都是建筑布局的左上角点。
不知道这样解释你是否清楚了?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部