日本語simutransフォーラム > simutransへの提案

道路の交差点信号機を鉄道にも使えるように(これでダイヤ組めます)

(1/2) > >>

gonyo:
道路の交差点信号機を 線路に設置できるようにしてほしい これを駅の次のマスに置くと列車の発車時間が指定できるのでダイヤ組めるようになる。  これで複雑な退避や接続ができるようになるのではと・・・
バスは現状でもcitycarがいなければダイヤ組むことが可能

wackdone:
このgonyoさんご提案の「鉄道でも使える周期時間制御型の信号機」について、
自分なりに少し考えをまとめていた落書メモがありますので、添付します。

実装については大きな方針の目処は立ってきているのですが、
コード上の影響範囲は実はTTTとそれほど変わらなくなりそうです。
(objのsubtypeが増えることもありますし)
道路用の信号機は、内部ではすごくadhocに実装されていて、かなり自動車専用実装になってしまっています。
objとしての判別方法も酷いもので「roadsignで、画像が4枚より多かったら信号機ね!」とか、とんでもな使用w
ぽいっと鉄道に継承実装させるのは難しい。

どちらかというと、private_way を時間制御で開くように拡張した方がいいのでしょうが、
どちらの場合も鉄道の経路制御への影響を考えないといけなくなります。

あとは、makeobj も作って配ったり、pak作らなきゃいけないところが普及上の難点かな。

gonyo:
鉄道に実装は難しそうですか わかりました。
そちらの考えてるTTTでうまく列車を制御できるなら私のこの案は不要かと思います
この案だと複数の種別を同じホームに止められないなどの問題もありますので・・・

wackdone:
gonyoさん
> 鉄道に実装は難しそうですか わかりました。
いえいえ、「すごく簡単に」はいかないというだけで、作ってみるつもりはあります。
(私の言い方がなんか愚痴っぽくなっていたみたいですね。誤解をあたえてしまいすみません)

TTTは、このまま行くとどんどん使い方がややこしくなっていきそうですので
(mokaさんご提案のように「一発簡単設定」などは入れるべきでしょうが)
それに比べて圧倒的にシンプルな、この周期時間制御型信号も使い途が多いのではないかと思います。
両方あっていいんじゃないかなと。

プログラム上はどれくらい真面目に綺麗に実装するかの問題です。
現状のオリジナルのソースをベースにする限りは根から叩き直した方がいいのですが、
(新たな概念と基底クラスを作って、既存のいくつかの機能をこの新基底の派生にさせる)
そうなるとパッチとしては量が増えてしまうので、本家へ持っていくときの説得が少し大変になるかも。

あとは、pakを作る必要があるのですが、問題は「絵」です。
私、プログラムはいくらでも書けるんですが、絵が全く描けない人間でして。。。

あまり深く考えずに、まずはお試しで何かやってみますかね。

gonyo:
TTTに 周期ごとに発車する設定を付け加えたらこんなややこしい信号はいらないかと思います。 アドオンの画像も不要になりますし・・・
同じホームに複数の列車運行できますしね。  これだけでダイヤ組めちゃうと思うんですよ。 ダイヤって一定間隔の運行しかないでしょだいたい・・・ 


交差点用の信号を置き換えて 発車できる時間tA 発車しない時間B  オフセット調整C で良いかなと思います。
この場合変数ABCは次の意味を持つことになる。
A:遅延が許される時間(これ以上遅延すると次の筋まで待機) 
B:運行間隔調整に使う(ないとは思うがBの値以上の早着すると一本前の筋で列車が遅れている扱いになりダイヤが乱れる)
 A+B=列車の運行間隔       C<A+B   C>A+Bにする意味ないです

あと1つ 各駅停車の電車の場合各駅で時間確認する必要はないと思うんですよ 退避可能な駅(単線での対向列車を含む)、終着駅など一部の駅で時間を確認し遅れが出ているかを確認すればいいかなと・・・ 各駅で遅延確認すると重くなるかもしれない


ダイヤ組むための大きな問題として 面倒さがあると思うんです。 私がやってた踏み切りで列車止める方法だと調整が面倒で・・・  simutransやってる方はかなり多くの列車扱う人もいるのでスケジュール画面での1編成ずつ設定より路線編集から一発で設定が望ましいかと思います。

欲を言うならばこんな機能も
そしてスケジュールの一番目(始発駅)から出発してもう一度そこまで戻ってくる時間を計算し(t1)とする そして運行間隔(t2)を設定すると必要な編成数(h)が求められるんではないでしょうか  t1/t2=h (小数点以下切り上げ)

ダイヤを組んだ場合そのとおり運行できなった場合(そもそも無理なダイヤ、客の増加、邪魔な普通電車がいてスピード出せない)
メッセージで   「注意:路線Aでダイヤが乱れています。」  と出てくるような機能とかもあるといいかもしれません
駅が混雑してたら出てくるメッセージみたいな感じでいいかと

私の案の難点
12時 0分 20分 A駅行き普通    40分  B駅行き普通
13時 0分 20分 A駅行き普通    40分  B駅行き普通

こんなパターンダイヤ組みたいと思ってもできなくなっちゃいます。  A駅行き普通を2つ設定すればできるか・・・
でもsimutransには始発も終電もなくひたすら電車が動いてるのでパターンダ イヤが望ましいかなと思います

不明な点
入線振り分け信号を使った場合の動作    ちゃんと動くのか心配です。 (これ難題かもしれん)
指定されたホームに同じ路線の列車がいたとします 別のホームに停車します。 別のホームに停車した列車はどうなるのか・・・
2編成同時発車してしまっても困りますね。 
時間通り動いてりゃこんな事態にはならないのだがどうするか・・・ 1編成ずつ設定すればこの問題は回避できる
というかそもそも時間通り列車が動くのであれば入線振り分け信号なんていらなくなっ ちゃうね だから入線振り分け信号には対応しなくていいかも

ナビゲーション

[0] メッセージ一覧

[#]

フルブラウザ表示にする