标题: san9城市和据点的攻击条件,修改城市位置及进军路线需要考虑的攻防关系问题, 城市攻防关系的思考
性别:未知-离线 vonleibniz

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 36
编号 63073
注册 2006-3-18


发表于 2011-7-30 23:54 资料 短消息 只看该作者
san9城市和据点的攻击条件,修改城市位置及进军路线需要考虑的攻防关系问题

只要做过剧本的同学大概都知道,san9各城市之间的敌对关系是固定的,没有敌对关系就不会进攻。比如襄平会远航来打北海,却不会打距离差不多的平原。这种固定了的攻防关系给剧本制作造成了很大的困难,随便移动城市位置很大可能会导致新城市不会进攻也不会遭遇进攻。
[强烈建议优化大神增加一个优化功能:自定义都市攻防关系]


san9里2个建筑(城市或据点)之间需要满足什么条件才会相互进攻呢?
先考虑只有2个城市及若干附属据点的情况,如下图所示:A,B表示城市, A1,A2,B1,B2表示属于各自城市的据点。An表示A,A1,A2,...中的任何一个建筑,Bn表示B,B1,B2,...中的任何一个建筑。

条件1:敌对条件。只有A与B敌对,An 与 Bn 之间的战斗才有可能打响。
条件2:联通条件,是指在进军路线上的地域必须属于敌对城市。(如果路上有敌对的第三方C的地皮,也算是联通的)
条件3:相邻条件,两个地域之间有相邻的、且相互可通行的地皮(即分属两个地域的两个512可通行的点相邻,上下左右方向,斜线方向不行)。

这三个条件的组合就构成san9里所有的攻击关系。这里我用两个图例来说明。

case1:攻击方为城市。城市发起攻击的条件是:敌对+联通。
图7中A与B敌对,城市A会攻击所有建筑A1,A2,A3,A4,B,B1,B2,B3. 反之B也会攻击所有建筑。
图8中,由于中立地区C的阻隔,联通条件不成立。故A不会攻击Bn,仍然会攻击A1,A2,A3,A4。 而B仍然会攻击所有建筑,因为对B而言C也是敌对区域,联通条件成立。

case2: 攻击方为据点。据点发起攻击的条件是:敌对+相邻。
图7中A1 会攻击A,A4,B1, 但不会攻击其他不相邻的建筑,如A3。
图8中由于C的阻隔,A1 不再攻击B1。

case3: 攻击方为蛮族,攻击发起条件仅为:敌对。


通过修改square间接增加攻防关系
继续上面的三个case。
case1:图8,在C地域中开辟一个横向通道(修改各点square属于A或B)再次联通A和B,那么A就会如图7中一样攻击B了。
case2:  因为不相邻,A1不会攻击A3。修改A1下面某个可通行的地皮属于A3,且旁边的地皮也为512可通行,那么程序会判断A1与A3相邻,攻击条件达成。
case3:故意把蛮族与其敌对城市之间放上非敌对城市,路过时也会打。


[ 本帖最后由 vonleibniz 于 2011-7-31 03:27 编辑 ]


图片附件: 7.jpg (2011-7-31 02:47, 76.87 K)



图片附件: 8.jpg (2011-7-31 02:47, 99.41 K)



顶部
性别:未知-离线 玫瑰花刺

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 仁勇校尉
功绩 2
帖子 156
编号 35302
注册 2005-3-27


发表于 2011-7-31 09:50 资料 短消息 只看该作者
看得我晕乎乎的,技术含量太高


顶部
性别:未知-离线 minamoto

Rank: 2Rank: 2
组别 百姓
级别 破贼校尉
功绩 1
帖子 66
编号 430735
注册 2011-7-1


发表于 2011-7-31 13:32 资料 短消息 只看该作者
.....还特意开贴。。。。。。。。
顶部
性别:未知-离线 贺若春水

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 22
编号 220875
注册 2007-9-27


发表于 2011-8-10 09:29 资料 短消息 只看该作者
虽然看不懂 还是要顶一个
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2025-3-1 14:43
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.011495 second(s), 11 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP