|
发表于 2013-11-11 21:09:07
|
显示全部楼层
你要在怪物身上放一个被攻击角度的记录,用于给选择它的角色在确定站位时估价。简单的思路:
角色身上记录一个BeAttackFromDegree:Map<Int, Int>,你可以把角度定位一个int,比如每30度+1,那么你的下标就是0-11,而Value则是在每个角色选定攻击他的角度的时候刷新的,每增加一个角色值+1,这样如果3个角色从同一个角度,比如30度(游戏世界坐标系,非角色本身)攻击角色,那么他的BeAttackFromDegree[1]就是3,在下一个角色攻击这个角色时,如果角色最佳路径计算出来是从30度攻击,则会根据这个3对于最佳路径的评分减分。大概思路就是如此,如果你想做的效果是星际争霸2这样一群人围着一个敌人打,而不是一群人叠在一个点打一个敌人的话。核心问题还是最终落点的评估算式。 |
|