最終更新日時: 2010年05月03日 (月) 11時14分47秒

TrainContrib


列車コントリビューションとは

列車コントリビューションは、車両コントリビューション(TrainCarContrib)を組み合わせて列車の「編成」を定義するコントリビューションです。編成の定義方法は色々ありますが、次の形が基本になります。

このページは「ver1」及びFreeTrain・FreeTrainEXの列車コントリビューション解説になります。
<contribution type="train" id="コントリビューションID">
  <company>会社名</company>
  <type>系・型名</type>
  <name>名称など</name>
  <author>作者名</author>
  <description>
    説明。個人的な思い入れなど
  </description>
  <fare>基礎運賃</fare>
  <price>一両あたりの値段</price>
  <speed>速度</speed>
  
  .... 編成定義パラメータ ....
</contribution>
  • company JR東日本などの会社名
  • type 201系などといった型番
  • name 愛称などがあれば(例:成田エクスプレス)。もしくは塗装パターン(例:湘南色)
  • author 作者の名前
  • description 思い入れを語ったり、列車の説明を入れてください。長くても可。
  • fare 基礎運賃。詳細後述
  • price 一両あたりの購入時の値段
  • speed 速度。詳細後述

基礎運賃はA4のものを参考にしてください。A4では、200(キハ40系)~1120(AR4)で、主なものとしては680(205系)、400(201系)、1050(381系)なんていう感じでした。

購入時の値段を真面目に指定していない(1とか)プラグインが非常に多く見られますが、これは将来FreeTrain EX Avが経営要素を真面目に実装しようとしたとき障害となります。
収入と車両の性格に見合った値段を記入しましょう。

速度は、
speed 日本語 ver1~2 ver3
superb 超高速 1分1ボクセル 1秒1ボクセル
fast 高速 1分2ボクセル 1秒2ボクセル
medium 中速 1分3ボクセル 1秒3ボクセル
slow 低速 1分4ボクセル 1秒4ボクセル

編成定義パラメータ

先頭/中間/末尾指定型

先頭車両、中間車両、末尾車両を別々に指定できるタイプです。ほとんどの列車はこれで大丈夫でしょう。「編成定義パラメータ」のところに以下のように書きます。
<class name="freetrain.contributions.train.ParamTrainImpl"/>
<composition>
  <head carRef="trainCarコントリビューションのID"/>
  <body carRef="trainCarコントリビューションのID"/>
  <tail carRef="trainCarコントリビューションのID"/>
</composition>
head,tailは省略可能で、省略すると中間車両が使われます。ユーザーが購入した長さにあわせて、中間車両が増結されて利用されます。

個別指定型

列車の編成をコントリビューション側で完全に決め打ちします。現実の編成を完全に再現するにはこれを使います。
「編成定義パラメータ」のところに以下のように書きます。
<class name="freetrain.contributions.train.PatternTrainImpl"/>
<config>
  <car char="先" ref="{27397861-4908-4C61-A5B6-749B7D6F1BF9}"/>
  <car char="中" ref="{F9427702-D023-431D-BD3C-9E0A4C654D84}"/>
  <car char="後" ref="{CC80D97A-461B-4E87-9B0A-52D12228C7E8}"/>
  
  <composition>先</composition>
  <composition>先後</composition>
  <composition>先中後</composition>
  <composition>先中中後</composition>
  <composition>先中中中後</composition>
  <composition>先先中中中後</composition>
</config>
まず、<car>要素を使って、trainCarを文字に割り当てます。全角でも半角でもOKですが、1つの車両コントリビューションにつき一文字です。

次に、composition要素を使って、各車両がどのように組み合わさるかを指定します。長さ毎に設定してやる必要があるのでちょっと面倒です。上の例では、1~6両編成が可能で、6両の時は先頭車が2つ付くようになってます。

長さ毎に別に書かないといけないので面倒ですが、ユーザーは結構長い編成を購入する場合があるので、様々な長さに対応できるように書いておいてください。