前回はグラフィックエディタからマップとルートを試しに作ってみました。
今回はCIRCLE、LINEなどの図形描画命令からロングカーブレールを作りました。
鉄道模型の基本セットに模したイメージで描いてみました。
そして、ポイントを作りました。
下のポイントを設定してみます。
DOTRAINが動くしくみは白線があれば進んでいきますが、
先に白線がない場合は左右に白線があるかを調べて、その方向へ進みます。
ですから、ドットを1つ消せば曲がって動くようになります。
ここでは割り込みをかけてF1キーでポイントのON/OFFを切り替えます。
このように2つのルートを切り替えることができるようになります。
この状態ではまっすぐ進みます。
この状態では左へ進みます。ちょっと間違いさがし的な画面ですが、
点が1つ消えていますね。
各4つポイントを加えて、ファンクションキーでトグルさせました。
引き込み線の配線を加えて留め置き線から留め置き線に移動させることができました。
点の色を変えるだけでポイントになることがわかりました。
A列車で行こうではポイント設定のダイアログで変えると
電車が左へいったり、まっすぐいったりしていましたが、忙しい感じでした。
DOTRAINはキーボードを操作盤のようにするので、全体が見わたせる利点があります。
電車の動きが変わるので無性におもしろいと思います。
すこし気になったのはBASICでも列車の移動速度が少し速いので
手動操作でもゆっくりできない感じがします。
また、カーブでも高速で入るので速度調節できる機能が欲しいですね。
考えているのは速度が2分の1の減速、3分の1の注意、4分の1の徐行、0で停止でしょうかね。
1つの列車を減速させるにはタイマーを作ります。
DOTRAINは警笛がインターバルで鳴るようしていますが、この間隔に全て移動処理をさせています。
これを2分の1で処理させるにはMODを使います。要するに割り切れないと移動処理をしないようにします。
割る数を大きくすることで、移動速度が遅くなる仕組みです。
これで列車の追い抜きができたり、かなり大きな数を入れれば一定時間動きを止めることができます。
DOTRAINの最初のグリーンのテストでは十字部分が左から右に行くところを上へ進みましたね。
このDOTRAINは普通の鉄道よりも路面電車とかトロッコとか
小規模の鉄道で軽便鉄道風の路線に合うような気がします。
今回使ったのはファンクションキーを押すと割り込み処理が加わるようにしました。
割り込み処理は処理中にいつでも割り込める利点がありますが、
例えば座標を設定して処理の途中で割り込み処理が入ると座標を設定した座標に表示されたりと
バグのような感じになることがよくあります。
ですから、この部分は割り込み可、この部分は割り込み不可とすることが大切になります。
このようなシビアな部分がありますが、プログラムの処理速度を落とさないで、何かを押す時に便利です。
速度調節ができました!信号、運転制御などの保安設備を緑の点で示していきたいと思います。