设为首页收藏本站

塞爱维(CIV)文明联盟

 找回密码
 注册
楼主: 孟仲玄

[原创] 商路全面解析(基于BTS3.17)

[复制链接]
发表于 2008-8-1 17:03:22 | 显示全部楼层
原帖由 孟仲玄 于 2008-8-1 17:01 发表
我试了半天,也没有得出什么结论。难道是WB用多了电脑被弄混乱了?我注意到似乎波斯的首都里连宫殿都没有.........


Persepolis里的宫殿是我去掉的。 对这个问题没有影响。
 楼主| 发表于 2008-8-1 17:04:35 | 显示全部楼层
我把那个位置的城换成了波斯的,就有商路了,但就是玛雅没商路,而且他首都也很难弄出商路来
发表于 2008-8-1 18:46:33 | 显示全部楼层
重商改成这样
帝国关税制终于可以实现了
发表于 2008-8-1 19:37:21 | 显示全部楼层

回复 #32 孟仲玄 的帖子

对于实验2,我建议孟大在土耳其知道你的分城但不知道你的首都的时候,,把你的2个城的文化圈连起来,再看一下土耳其的商路是哪个城市
 楼主| 发表于 2008-8-1 19:38:16 | 显示全部楼层
原帖由 thorsoar 于 2008-8-1 19:37 发表
对于实验2,我建议孟大在土耳其知道你的分城但不知道你的首都的时候,,把你的2个城的文化圈连起来,再看一下土耳其的商路是哪个城市

好的,我试试
 楼主| 发表于 2008-8-1 20:06:37 | 显示全部楼层
经过我刚才的测试(对象是我的城市和对方的A、B两个城市的贸易),我发现当A、B两个城市的文化边界如果仅仅是连接起来的话,和我以前的结论相同,即我的城市必须要知道城市位置才可以有商路连接。我只知道城市A的位置的话,不能和城市B贸易(即使AB两城的文化边界相连)。

但是,当两个城市的文化边界有重叠的时候,如果和城市A可以贸易的话,则和城市B也可以贸易。即使城市AB文化重叠的那几个格子全部是尚未探索的,我也可以都和它们贸易。

对了,刚才看到了soar在27L那贴的改动,感到或许我们已经接近真相了 ,为便于参考,具体说明一下我测试的情况:A是对方首都,B城和A城的城市工作范围有重叠(如果都扩张到21格),但是当只有一城文化扩张到21格时,两个城的文化范围只是刚好接上但不重叠。测试发现:1.两者都是9格工作范围时,能和A贸易不能和B贸易。 2.两者中任何一者扩张到21格时,能和A贸易不能和B贸易。 3、两者均扩张时,即能和A贸易又能和B贸易

[ 本帖最后由 孟仲玄 于 2008-8-1 20:19 编辑 ]
发表于 2008-8-1 20:22:26 | 显示全部楼层

回复 #66 孟仲玄 的帖子

测试发现:1.两者都是9格工作范围时,能和A贸易不能和B贸易。 2.两者中任何一者扩张到21格时,能和A贸易不能和B贸易。 3、两者均扩张时,即能和A贸易又能和B贸易

经测试,第3条是错误的.我认为可以贸易的原因是满足了我在27楼写的条件4

[ 本帖最后由 thorsoar 于 2008-8-1 20:28 编辑 ]
 楼主| 发表于 2008-8-1 20:35:44 | 显示全部楼层
恩,正准备要编辑我的66L

我刚才的测试不严谨,现在我发现文化不需重叠只需接壤就可以产生商路了,而且,可以借着其他城的文化范围来达到这一步:

对方有ABC三城依次排列,A和B接壤,B和C接壤,但A和C本身的文化范围不接壤,只能通过B连在一起,结果我发现我只看到了A,却也能同C贸易
 楼主| 发表于 2008-8-1 20:37:21 | 显示全部楼层

回复 #67 thorsoar 的帖子

我看到你的最新修正了,我认为这个版本已经是正确的解释了。准备编辑到1L去,可以不
发表于 2008-8-1 20:48:57 | 显示全部楼层

更新版及测试方法

再次更改最终简化版:
A国X城可以把任意Y城作为贸易对象的充分必要条件是:X与Y之间可以形成连接且A国拥有至少一条连接所经的中立地区的地图,且该连接所经的任意其他国家没有与A国开战.
其中,连接可以是道路/河流/海滨/大洋及它们的组合,但是需要启动科技(航海/天文).另外,道路不能直接连海滨,需要通过河流或港口城市或要塞(这个我专门测试了的,不过用处不大,直接开个港口城市就行了).至于道路/河流直接连大洋的问题,在自动生成的地图中应该是不会出现的,所以不做测试了.这里,任意Y城的意思就是,可以是本国的,也可以是外国的.
最后,满足以上条件只是说Y可以作为X的贸易对象.但是X的最终贸易对象是哪些城市,则是由游戏按照一定规则自动帮玩家选择.这些原则是:
1,每个城市的商路数量是有限的,取决与科技,建筑,奇迹和政策.
2,国际商路具有唯一性,即A国只能有1条到B国Y城的商路;国内商路无限制.
3,商路分配算法见113楼.需要指出的是,游戏默认的算法并不能保证总收益最大.但是为了省事,还是交给电脑去搞吧.


1,对于A国来说,B国的任意城市只要和A国的任意城市相连,那么就可以作为A国该城市及与A国该城市相连的城市的贸易对象.

2,A国必须有中立地区的商路地图,不需要看到B国文化圈内的格子

1和2加起来,就是形成A国城市具有商路的充分必要条件

3,如果B国某城是A国的贸易对象,那么B国内所有和该城在B国文化圈内有连接的城市均可成为A国的贸易对象

4
,如果B国某城是A国的贸易对象,那么B国内所有和该城在B国文化圈内没有连接的城市,必须在A国知道其在中立地区的连接路线的情况下方可成为A国的贸易对象

补充:经过仔细推敲了一下,第3条和第4条是前2条的推论,证明如下:
假设B国X城是A国的贸易对象,那么X城肯定与A国某城市有连接且A国有中立地区的连接(公路/河流/近海/大洋)的地图.
若B国Y城与X城有连接且连接在B国文化圈内,那么Y城肯定也和A国某城市有连接且A国有中立地区连接地图,所以Y城也是A国的贸易对象.
若B国Y城与X城有连接但连接不在B国文化圈内,则Y城与A国某城市有连接,那么只要A国有所有的中立地区连接的地图,则Y城也是A国的贸易对象


试验方法如下:

图中左边紫色印度是我(A国),中和右2个灰色城市是拜占庭也就是我的测试对象(B国).我给A国加了文字,同时修了道路,然后把君士坦丁堡的文化改成0,让它没有扩张.

第一步,改了视野,让我看到公路进入拜占庭文化圈的那格但是却看不到拜占庭的文化圈.(我已经提前在远方改了双方各一个单位让双方联系到了,然后把这2个单位删掉).图中大象上面一格再右上一个就是拜占庭的文化圈了,我现在没有看到它的文化圈,但是一个回合后我有了商路.这样就验证了第1条和第2条(注意,本次试验我没有用公路连接拜占庭的2个城市).



第二步,我把拜占庭的2个城市连接起来,故意让这条公路绕的远点,在拜占庭的文化圈外但是不在它的视野外(我用给拜占庭加兵的方式确认了这一点),结果德里的贸易对象不变.然后我把这条公路在中立地区的黑幕去掉,如下图,这次德里的贸易对象变成君士坦丁堡了.这2次试验证明了第4条.第3条就很简单了,不贴图了.



[ 本帖最后由 thorsoar 于 2008-8-3 20:07 编辑 ]
发表于 2008-8-1 20:50:00 | 显示全部楼层

回复 #69 孟仲玄 的帖子

当然可以,不过我觉得有些拗口,文笔有些差,孟大可以润色一下,让大家看的更明白
 楼主| 发表于 2008-8-1 21:01:26 | 显示全部楼层
恩,现在这个版本已经基本正确的了,不过我认为不一定要有首都的参与:
一个新大陆地图,在新大陆放上两国的两个均非首都的城市,很显然这两个城市都没有与首都相连,但是两个城市一旦连上,就可以产生商路了
 楼主| 发表于 2008-8-1 21:06:24 | 显示全部楼层
就是这样的情况:可以从小地图看出,这两个城市在新大陆上,两个城已连接




城市里是有商路的:

发表于 2008-8-1 21:07:28 | 显示全部楼层

回复 #72 孟仲玄 的帖子

说的很对,我是受了必须与首都相连才能享受贸易资源的影响,以为没首都就没商路.试了下确实如此,马上去改
发表于 2008-8-1 21:12:03 | 显示全部楼层
根据我的研究,关键的地方是如何解释CvCity.cpp中这一句

  1. pLoopCity->plotGroup(getOwnerINLINE()) == plotGroup(getOwnerINLINE())
复制代码
发表于 2008-8-1 21:55:03 | 显示全部楼层
再进一步测试如下:
1,假设A国与B国之间的连接(我测试了道路和河流,没试海滨)经过了C国,只要A国没有与C国开战(甚至不需要联系到C国),且有连接所经过的中立地区的地图,则A国可以把B国作为贸易对象

2,河流只需要单侧的地图

[ 本帖最后由 thorsoar 于 2008-8-1 22:29 编辑 ]
 楼主| 发表于 2008-8-1 22:04:23 | 显示全部楼层

回复 #76 thorsoar 的帖子

这点不太合理啊.....
发表于 2008-8-1 22:08:43 | 显示全部楼层

回复 #77 孟仲玄 的帖子

我也这么觉得,不过这次测试是在已经联系到c国的情况下做的,没试过根本没联系上c国的情况

修改:再次试验试了一下,确实如此
图中E是英格兰,Z是沙卡,我修了一条路到英格兰首都=>英国分城=>沙卡分城=>沙卡首都,在2国境外的路线如图中所示.图中可以看到,我没联系上英国,但是修改完成后沙卡马上就有了连接上的符号,然后开边境,下回合就有了商路,沙卡的2个城市都是我的贸易对象


[ 本帖最后由 thorsoar 于 2008-8-1 22:20 编辑 ]
发表于 2008-8-1 23:44:28 | 显示全部楼层

我的总结

刚才测试时犯了个错误,重新总结。


国际商路可以建立的判定条件

假设现有不属于同一组队(Team)的两个国家A和B,如果AB两国开放了边境,且两者皆未采用重商主义。

那么A国城市X可以建立至B国城市Y的商路的充分且必要条件是

1. A国的其它城市没有至城市Y的商路;
2. X和Y是运输连通的,即XY可以由公路铁路城市要塞河流海岸大洋相连接。当然河流海岸需航海科技支持,大洋需天文。
3. 至少存在一条在连接X和Y的通路,且这条通路经过的格子属于下述两种情况,
  (a)处于未与A国开战的某国文化境内或其下某个城市的21格内, 这里的某国可以是A国,也可以是还未与A国接触过的国家,只要不是野蛮人就行。
  (b)不位于任何国家境内或某城市(非蛮族)21格内, 则此格必须被A国探索过,且从中立地域边境到文化边境(或某城市21格的外圈)这2格路均须被A国探索过。

注: 上述通路只要不被敌方海军封锁破坏,即使敌人部队站在上面不影响商路的建立。

[ 本帖最后由 Khyron 于 2008-8-2 12:51 编辑 ]
发表于 2008-8-2 06:52:07 | 显示全部楼层
LS男真是痴人也
看你3点就在线,一直等到5点05宵禁结束,编辑完帖子才离线,
想是睡觉去了。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|塞爱维(CIV)文明联盟    

GMT+8, 2024-4-18 18:01

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表