* 設定ファイル/cityrules.tab [#h37fcf7b]

&imgfolder(16/info.png); cityrules.tabの設定はセーブゲームには保存されません。変更後にsimutransを起動すると、すべてのゲームに変更が適用されます。

:minimum_city_distance = 32| 新規マップ作成時の都市間の最低距離
:renovation_percentage = 12| 都市の発展時に、新規建物を多く建設するか、既存の建物をレベルアップさせるかの判断に使用されます。&br;値を大きくすると新規建物が建設されなくなり、逆に値を小さくすると都市が広がりやすくなります。
:industry_increase_every = 2000| 新規産業チェーンが作られるタイミング、人口条件を設定します。pak64のデフォルトは2000で、各都市の人口が2,000、4,000、8,000、1,6000、32,000、64,000、128,000、256,000に達した場合に建設または拡張されます。(ただし、情報ウィンドウに表示されている人口と、実際に建設される時期との間には、ずれがあります)&br;0を指定すると、人口増加で新規産業チェーンは建設されません。
&imgfolder(16/light_off.png); 建設時期は設定値の倍々で8回までです。デフォルトの2000ですと、8回目の256,000が最後で、それ以上人口が増えても建設されません。
:minimum_building_desity = 25| (100.0以降)都市の発展時に、市域を拡張するかどうかの閾値。市域全体のうち、建物の比率が数値より低いときには拡張せず、数値より高いときは拡張します。

configディレクトリに存在するcityrules.tabファイルでは、
都市の建物と道路の生成規則を定義しています。

 例) 建物を生成する規則
 house_1 = ... Hn. sss
 house_1.chance = -2

- "''house_1''" というのは、この規則の名前です。
建物の生成規則には "house_1" から始まる連番を、
道路の生成規則には "road_1" から始まる連番を付けます。

- 右辺の "''... Hn. sss''" の部分が規則の内容です。
ここについては後述します。

- 2行目の "''house_1.chance = -2''" というのは、
この規則が適用される確率を表します。
"-7" が最も高確率で、''数字が大きくなるほど確率が低くなっていきます''。
|chance|-7|-6|-5|-4|-3|-2|-1|0|1|2|3|4|...|8|h
|確率|1/1|1/2|1/3|1/4|1/5|1/6|1/7|1/8|1/9|1/10|1/11|1/12|...|1/16|

なお、ファイル中の''#''で始まる行はコメントです。

** 規則の意味 [#e3aa3a48]

1行目の右辺にある "''... Hn. sss''" という部分が、この規則の内容を表します。
これは、以下のように3行3列のパターンを意味しています。

|.|.|.|
|H|n|.|
|s|s|s|

それぞれの文字は、以下のような意味を持っています。

|CENTER:''文字''|CENTER:''意味''|h
|CENTER:s|道路|
|CENTER:S|道路ではない|
|CENTER:h|建物|
|CENTER:H|建物ではない|
|CENTER:t|駅・駅ビル|
|CENTER:T|駅・駅ビルではない|
|CENTER:n|自然 (建物や道路がないという意味)|
|CENTER:.|何でもよい|

3行3列の範囲がこのパターンに合致するとき、
真ん中のマスに建物や道路が (規則の2行目で指定した確率に従って) 発生します。

パターンは90度単位で回転したものを含みます。
たとえば、上の規則は、それを回転して得られる
|s|H|.|
|s|n|.|
|s|.|.|
や
|s|s|s|
|.|n|H|
|.|.|.|
や
|.|.|s|
|.|n|s|
|.|H|s|
というパターンにも合致します。

一方、パターンは反転を''含みません''。
つまり、上の規則は
|.|.|.|
|.|n|H|
|s|s|s|
というパターンには''合致しません''。
したがって、非対称な規則では、
反転したパターンを別の規則として定義する必要があるでしょう。
例としてデフォルトのcityrules.tabを見ると、
 house_2 = ... .nH sss
 house_2.chance = -2
と定義されています。