第一阶段是基础动作的准备,主要实现了地图更新,村民管理和初始化动作分配,控制村民实现资源获取的接口,创建并管理SN_to_Sort表。主要函数如下:
1.CurrentMap()
实现地图的动态更新,在每次调用帧是都调用一次,记录资源,建筑,单位,陆地海洋的块坐标,用字符构建地图
2.initialSNSort()
构建四个map表,实现由SN和资源,单位,建筑的一一对应,方便后续根据类型等查找到SN编号
3.currentFarmerStat()
村民的管理用一张map表实现,实现SN和状态的一一对应,便于后续对村民的调度,在每帧开始时遍历村民,并将其状态存入map表中,其中,状态用几个自定义的int表示:0空闲,3攻击敌军,4砍树,5石头,6瞪羚,7大象,8捕鱼,9黄金,10建造
4.collectRes(int type, int num)
这个函数提供了上层控制村民搜集资源的接口,type指需要的资源类型,num是分配的人数,在次函数中,首先分配空闲的人收集目的资源,如果空闲人数不足,则按照黄金 < 石头 < 鱼 < 瞪羚 <大象 < 木材的优先级顺序改变人的状态
5.autoDispatch()
这个函数实现空闲人员的动态分配调控,在每帧调用初始调用,使得人员不会空闲,这个函数为每个资源设置了权重,然后根据权重计算现有资源的权重比占比,根据占比分配空闲人员。
8951

被折叠的 条评论
为什么被折叠?



