* 開発/cityrules.tabの解説 [#h37fcf7b] ※ちなみに、現在ではこんな面倒くさいことをせずに簡単に設定できるように、simuconfigと言うソフトがあります。 http://config.japanese.simutrans.com/ 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" が最も高確率で、''数字が大きくなるほど確率が低くなっていきます''。 なお、ファイル中の''#''で始まる行はコメントです。 ** 規則の意味 [#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 と定義されています。