Minecartの変わった使い方
最終更新Version | 0.42.04 |
はじめに
minecartは非常に楽しいですがDF的な意味でも*非常に*funがいっぱいです.(何匹轢き殺したかなんて覚えちゃいねえぜ)
安定した回路を閉鎖してしまえば危険は隔離できますが、それまでの試行錯誤、あるいは建設時のちょっとしたミスでごく簡単にドワーフは死にます.
基礎知識編
まともな使い方とか知りませんが何か?
Minecartとは兵器の弾体であり、ドワーフ式回路の電子です.
Minecartで物を運ぶ方法?きっとほかのだれか偉い人が解説してくれるでしょう!
まずminecartを発進させてみましょう.
適当な空きスペースでh r sでstopを設定します(root作成).
Enterの後xを何回か押してデフォルトの出発条件を消します.
vを押して適当なminecartを配置します.
(ここまでは量子保管庫で慣れているかもしれません. 量子保管庫と違ってstockpileや運ぶ荷物は指定しません)
nを押して新しい出発条件を作成し、pを一回押してpushを選びます.
ここでゲームに戻るとドワーフがやってきてcartを北に向かって蹴り出します.
(方向は出発条件でdを押して変更できます)
先にドワーフが居たら避けたりぶつかって怪我したりします.*楽しい!*.
蹴り出されたminecartは何かにぶつかるか、あるいはやがて減速して止まります.
止まったら、ドワーフはそれを拾いに行って蹴り出すをroot指定を変更しない限り繰り返します.
(root指定でminecartの割り当てをnoneに変更すれば一時的に休止できます)
次はtrack(軌道/トラック)です.
b C T で建設できます.
(d T で掘ることもできますが、掘る方の指定はちょっと癖があります.フィーリングです. x(指定除去)と組み合わせれば何でも描けます.)
下から右(SE)のトラックを設置して南から上述の方法でcartを蹴り出してみましょう.
曲がった!いろいろ試しましょう
ルール:蹴りだされたMinecartは(基本的に)Trackに沿って進みます.
つまり曲がったTrackに入るとそちらに向かって曲がります
これでトラックの使い方は完璧です(違).
加速装置
上述の二つ目のトラックにcartを蹴り込んだ場合.
cartはくるくる回ったあとやがて止まります.
ルール:動いているMinecartは摩擦で徐々に減速し最後には止まります.
摩擦は床の状態などによります.
例えば直線のトラックを敷いてやると摩擦は減りますが0にはならないのでやっぱりやがて止まります.
そこで加速装置です.(ローラー?パワーがいるじゃないですかヤダー)
そこで坂道トラックです.
(b C T の下の方にある Track/Ramp です. 図中のは(NW)のやつです. 一応天然Rampなら掘ることもできます)
ルール:壁と隣接した坂道トラックのトラックの壁でない出口方向へ進むcartは加速されます.
たとえcartが坂の上から降りてきたものでなくても!ドワーフ物理学万歳!
これでくるくる回りつつ坂道を通る度にどんどん速くなります!
脱線と脱線の抑制
上の加速装置を実行するとどんどん速くなった挙句.
やがてすごいスピードで北へ飛び出していきます.(とっても*fun*)
ルール:一定以上のスピードのcartはtrackに沿って曲がれず、直進します.
そこで脱線しそうな所に壁を立ててみます.
ルール:一定以上のスピードのcartでも壁などがあって直進できないならばtrackに沿って曲がります.
これでどんどん早くなりつつずっと回り続けます.*永遠*に!!(速さには上限があります)
脱線の制御
さてくるくる回り続けるcartを眺めるのは始めは楽しいですが、
やがて邪魔になります.
root削除しても一旦走り始めたcartはお構いなしに回り続けます.
止めるには体を張る(割と死にます)か壁を取り外して脱線させるかです.
壁を解体する時は解体方向に注意しましょう.
失敗すると解体が終了したとたん脱線してきたcartと衝突です.
わりと危険がやばくて危ない感じです.
危ないところには近づきたくないです.
そこで、レバーとリンクです.
閉じられているドアも壁と同様に脱線を抑制しますので、
壁の代わりに、あらかじめリンクしたドアを設置しておきます.
Goblinあるいは嫌いな上司が近づいたとき、
あなたは安全な場所に設置されたレバーを引くことができます!
やっぱり波動砲の発射はレバーでするべきですよね!
より重いcartの方が威力があるだとか、
だから荷物積もう!とか、
水で満たしたら重いんじゃね?とか、
弾の回収に戦場に飛び込むのを抑制するため、
発射前にcartをforbidしとくとかいろいろ工夫しましょう.
応用のための知識編
レバー操作による制御だけでもそこそこ楽しいですが、
トラック上に(T設定の)感圧板をセットすればフィードバックがかけれます.
こうなると可能性は*無限大*です!!!
cartの状態を検知、出力する主な手段は感圧板になるでしょう.
そのため、感圧板の仕様を理解しておくことが重要になります.
感圧板の仕様
- 感圧板は反応条件を満たすと(ほぼ)即時に反応(暗転)し、
最後に反応条件を満たさなくなった約100ステップ後待機状態に復帰(明転)します. - 反応(暗転)した時ON信号を、復帰(明転)したときOFF信号を
リンクしている家具に送ります. - 新たな反応によって復帰までの時間は更新されます.
つまり50ステップ間隔で踏まれ続ける感圧板は常に暗転したままでOFF信号を送りません.
- 例えばドワーフに反応する感圧板をドアにリンクした場合
- ドワーフが板を踏んだ瞬間にドアが開き、約100ステップ後ドアが閉じます.
(この間にドワーフはドアを通り抜けることができるでしょう)
- 例えば4「以下」の水に反応する感圧板をドアにリンクした場合
- 通常、乾いている状態なら開いています。
洪水だ!水が4以上になりました!ドア閉めて!!
でもすぐは閉まりません。水が4以上になって(反応状態でなくなって)
約100ステップ後、ようやくドアが閉じます.
(ドアを閉める為にはOFF信号が必要ですが, 感圧板がOFF信号を送るのは条件の変化から必ず100ステップの時間差があるためです.
この間に結構な量の水が流れ込むでしょう. この時間を短縮するには少々トリックが必要になります.
簡単な方法は跳ね橋を用いることです. 跳ね橋はON信号で壁になります.
面倒でトリッキーでクレバーな方法はOFF信号をON信号に反転させる回路を組むことです)
正直、この閉鎖の遅れが回路組むのには結構邪魔です.
が、下の発振回路のように有効利用も可能です.
(実は、坂加速の代わりに、ギアと動力を用いればこの面倒を回避できたりもします.
が、別に反応炉を用意しないといけなかったりするので別の面倒が増えます.)
信号の仕様
感圧版から送られるON/OFF信号はLever(レバー)を右(ON)や左(OFF)に倒した時に送られるものと同じです.
ON/OFF信号を受信した家具は各々固有の動作時間の後、ON/OFFの各信号と家具に固有の動作をします.
動作時間中の信号、意味のない動作の信号は単純に無視されます. (覚えておいて後で動作したりとか一切しません)
- 例1:
下りた状態の跳ね橋にONを送り、50ステップ後にOFFを送ると.
まだ動作時間中の為、OFF信号は無視され、上がったままになります.
原子粉砕機でごみ処理しようとして2回分レバーをpullさせたのに橋が上がったままだったとかこれが原因です. ドワーフが時間の空けずに2回分ガチャってしまうと起きます.
- 例2:
上がった状態の跳ね橋にON信号を送っても上がったままです.
上の状態で橋を下ろそうとpull指示しても下りないのはコレ. 3回目のpullはON信号だから. もう一回PullさせるとOFF信号を送って降りる.
各家具の動作と動作時間
家具 | 信号から動作までの時間 | ON信号 | OFF信号 |
Door(ドア)、Floor hatch(ハッチ) | 0 | 開く | 閉じる |
Upright Spear/Spikes(ヤリ) | 40 | 引っ込む | 飛び出す |
Bridge(跳ね橋) | 100 | 跳ね上げ(壁状態) | 橋になる |
Bridge(引き込み橋) | 100 | 格納(見かけ上無くなる) | 橋になる |
Floodgate(水門)、Bars(壁格子) | 100 | 開く | 閉じる |
Gear assembly(歯車) | 0 | 状態変化 | 状態変化 |
Support(支柱)、Cage(檻) | 0 | 解体(一度きり) | ‐ |
基本的には、その家具を設置した時の状態からON信号で別の状態に変化しOFF信号で設置した時の状態に復帰します.(再使用可能なものは)
Gear assembly(歯車)は少し複雑で歯車自身が接続/切断の2種の状態を持っており、ON/OFF両信号がその状態を他方へ変化させます.
回路に影響を与える方法
- 水門(、壁格子、跳ね橋)もドアの様に脱線制御に使えます.
反応速度がドアと異なるのでうまく使い分けましょう. - (跳ね橋でない)橋は曲がりトラックを覆い隠します.
非脱線速度での方向制御に使えます.
発振回路(リピーター/信号反復器)
わりと実用的
デンジャールームやドワーフ式アトミッククラッシャーの自動化に
設計
- 図① trackと壁
図①は最低限必要な壁しか書いていないがアクセスさえ確保すれば
床(。)を壁にしても機能は変わらない.
むしろ安全上壁で囲うことを推奨する. 例えば以下で良い
- 図② 壁で囲んだtrackの図
以下の記述では必要最低限の壁しか表示しない
- 図③ 感圧板とドアの設置位置
図①のトラックの上にドア等を設置する.
感圧板は出力先および右のドアにリンクする.
下のドアはレバーにリンクしておく.
動作説明
- 図④ minecart投入方向
矢印位置から北へMincartを投入すれば感圧板を踏み、下の動作状態Aに移行する.
- 図⑤ 動作状態A
Mincartは横長のループを回り、感圧板は踏まれなくなる.
よって100ステップ後に感圧板が復帰してOFF信号が出されリンクされたドアが閉まり動作状態Bに移行する
- 図⑥ 動作状態B
この状態は一瞬しかない為視認するのは難しい.
Mincartは中央のループを回り、復帰している感圧板は踏まれる.
感圧板が踏まれると直ちにON信号が出されリンクされたドアが開き動作状態Aに移行する
- 図⑦ 休止状態
外部のレバーで下のドアが開かれると(動作状態Aから)この状態に移行する.
Mincartは縦長のループを回り、感圧板は踏まれ続けるので新たな信号を送らなくなる.
レバー操作で再び下のドアを閉じると状態Aに復帰する
出力
およそ100ステップ毎に連続するOFF-ON信号が出力される
この出力をDangerRoomのヤリにリンクした場合次のような感じになる
時間 | 000 | 00x | ─ | 040 | ─ | 100 | 10x | ─ | 140 | ─ | 200 | 20x | ─ | 240 | ─ | 300 | 30x | ─ | 340 | ─ |
感圧板信号 | OFF | ON | ─ | ─ | ─ | OFF | ON | ─ | ─ | ─ | OFF | ON | ─ | ─ | ─ | OFF | ON | ─ | ─ | ─ |
ヤリ | 無視(無意味) | ON受信 | ─ | 引っ込む | ─ | OFF受信 | 無視(動作中) | ─ | 飛び出る | ─ | 無視(無意味) | ON受信 | ─ | 引っ込む | ─ | OFF受信 | 無視(動作中) | ─ | 飛び出る | ─ |
双発振回路II
半期ずれた反復信号の対を発生する
組になってると何かと扱いやすい
基本トラック
構造物有り
上の:感圧板1(制御用、右のドアとリンク、出力信号としても使用でき、周期およそ200)
下の:感圧板2(制御用、左のドアとリンク、出力信号としても使用でき、周期およそ200)
右の:ドア1、感圧板1とリンク
左の:ドア2、感圧板2とリンク
解説
- 投入後中央上の通路を通って右に向かう
- 感圧板1が反応する
- 右ドアが開いている間右のループを周る(上のドア設置前の線路参照)
- 暫くのち(100ステップ後)感圧板が戻るとドアが閉じて中央下の通路を通って左に向かう
- 感圧板2が反応する
- 左ドアが開いている間左のループを周る
- 暫くのち(100ステップ後)感圧板が戻るとドアが閉じて中央上の通路を通って右に向かう
- 感圧板1が反応する
- 右ドアが開いている間右のループを周る
- 以下ループ
出力
中央の感圧板からは
時間 | 000 | - | 100 | - | 200 | - | 300 | - | 400 | - |
上の感圧板信号 | ON | - | OFF | - | ON | - | OFF | - | ON | - |
下の感圧板信号 | - | - | ON | - | OFF | - | ON | - | OFF | - |
注意
- 本当は100単位でなくループを回る時間だけ少し大きい.
ランダム性はないので厳密に決まるが,
反応速度に建設順が影響してたりするらしいので面倒だからパス. - 投入は少なくとも脱線速度を越えていなければいけない
- 扉がとじるタイミングに丁度カートがあると開きっぱなしになって信号が止まります.
十分加速させて最高速度になった状態ではこれは起きません.
投入速度を充分上げる.
あるいは、ドアにさらにレーバーをリンクしておいて手動で復帰するなどの手段で回避できます.
水門型(ややコンパクト、出力は同じ)
# # ┌┐X┌┐# #┛^ ^┏# #└┘X└┘ # # ↑ 左^:感圧板1 右^:感圧板2 上X:水門、感圧板1とリンク 下X:水門、感圧板2とリンク
周期倍加回路
トラック
構造物有り
上下の:ドア、入力信号Aにリンク
左右の:ドア、入力信号Bにリンク
右の:感圧板1、出力信号1
左の:感圧板2、出力信号2
前述の発振回路から得られる二種類の信号を入力A、Bとしてリンクすれば
時間 | - | 000 | - | 100 | - | 200 | - | 300 | - | 400 | - | 500 | - | 600 | - | 700 | - | 800 | - | 900 |
入力信号A | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF |
入力信号B | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON |
カートループ位置 | 左上 | 右上 | 感圧板1 | 右下 | 左下 | 感圧板2 | 左上 | 右上 | 感圧板1 | 右下 | 左下 | 感圧板2 | 左上 | 右上 | 感圧板1 | |||||
出力信号1 | - | - | - | ON | - | OFF | - | - | - | - | - | ON | - | OFF | - | - | - | - | - | ON |
出力信号2 | - | - | - | - | - | - | - | ON | - | OFF | - | - | - | - | - | ON | - | OFF | - | - |
が取り出せる.
出力信号1、2は200ずれる
この出力を2つ目の倍加装置IIに入力すれば
時間 | - | 000 | - | 100 | - | 200 | - | 300 | - | 400 | - | 500 | - | 600 | - | 700 | - | 800 | - | 900 |
入力信号A | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF |
入力信号B | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON |
カートループ位置 | 左上 | 右上 | 感圧板1 | 右下 | 左下 | 感圧板2 | 左上 | 右上 | 感圧板1 | 右下 | 左下 | 感圧板2 | 左上 | 右上 | 感圧板1 | |||||
出力信号1=入力信号II-A | - | - | - | ON | - | OFF | - | - | - | - | - | ON | - | OFF | - | - | - | - | - | ON |
出力信号2=入力信号II-B | - | - | - | - | - | - | - | ON | - | OFF | - | - | - | - | - | ON | - | OFF | - | - |
II号カートループ位置 | II-左上 | II-右上 | 感圧板II-1 | II-右下 | II-左下 | 感圧板II-2 | II-左上 | |||||||||||||
出力信号II-1 | - | - | - | - | - | - | - | ON | - | OFF | - | - | - | - | - | - | - | - | - | - |
出力信号II-2 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | ON | - | OFF | - | - |
更に2つ目の出力を3つ目の倍加装置IIIに入力すれば
時間 | - | 000 | - | 100 | - | 200 | - | 300 | - | 400 | - | 500 | - | 600 | - | 700 | - | 800 | - | 900 |
入力信号A | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF |
入力信号B | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON | - | OFF | - | ON |
カートループ位置 | 左上 | 右上 | 感圧板1 | 右下 | 左下 | 感圧板2 | 左上 | 右上 | 感圧板1 | 右下 | 左下 | 感圧板2 | 左上 | 右上 | 感圧板1 | |||||
出力信号1=入力信号II-A | - | - | - | ON | - | OFF | - | - | - | - | - | ON | - | OFF | - | - | - | - | - | ON |
出力信号2=入力信号II-B | - | - | - | - | - | - | - | ON | - | OFF | - | - | - | - | - | ON | - | OFF | - | - |
II号カートループ位置 | II-左上 | II-右上 | 感圧板II-1 | II-右下 | II-左下 | 感圧板II-2 | II-左上 | |||||||||||||
出力信号II-1=入力信号III-A | - | - | - | - | - | - | - | ON | - | OFF | - | - | - | - | - | - | - | - | - | - |
出力信号II-2=入力信号III-B | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | ON | - | OFF | - | - |
III号カートループ位置 | II-左上 | III-右上 | 感圧板III-1 | III-右下 | ||||||||||||||||
出力信号III-1 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | ON | - | OFF | - | - |
出力信号III-2 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
以下同様に長周期の信号が作れる.
注意
- 例によってループ時間分誤差が出る.
一時退避回路
いちいち脱線させたり再投入したりして回路の動作をON/OFFするのは
時間がかかるし、危険でもある.
予め、退避回路を設置しておけばレバー一つでお手軽にON/OFできる.
運転状態
# #┌┐ ┌┘┗# →┐D┘# │# ↓
→:主ループ進入方向 ↓:主ループ脱出方向 D:退避制御ドア、レバーにリンク、下に└を掘ってから設置
主ループの角部分に設置
元の主ループはDの部分に脱線抑止の壁があった.
ドアが閉じている状態では元と同じ挙動.
退避状態
...# .#┌┐ .┌┘┗# →┐└┘# .│# .↓
ドアを開くとcartが退避ループに捕獲され、
主ループの動作が休止する.
再びドアが閉じられると退避ループのcartは┌┘の経路を通って主ループに戻される.
遅延回路
あなたの要塞に素敵な自壊用の支柱を作ったとしましょう.
支柱に連動したレバーを引いたとたん!あなたの要塞は全滅します!!*楽しい*!!!
でも、せっかくの楽しみを一瞬で終わらせず、もう少し情緒を楽しんでみませんか?
古今、洞穴の崩壊レバーには猶予があるのが定番です.
この遅延装置によって、あなたは逃げ惑ったり、パニックに陥ったり、
あるいは絶望を味わう(任意の長さの!)時間を得ることができます.
# # # #┌┐#┌┐#┌┐ │┗#│┗#│┗# └┘D└┘D└┘D^┐# #│ # # │ #└────────┘
左D:トリガー、例えばレバーからリンク 中D:周期信号からリンク 右D:半期ずれた周期信号からリンク ^ :出力信号、例えば支柱にリンク
遅延回路を多段に組んだり、長周期の反復信号を使う事によって遅延時間は操作できます.
倍加回路を二十数個かさねれば、100年後に倒壊が約束された要塞ができます.
そして五十個以下の倍加回路で(それが来るまで「我々」が生きていないとしても)
56億7千万年後の*救済*を予約することだってできます
自動復帰
原子粉砕装置(橋)で何かを粉砕するとき、
レバーに2回分タスクを指示しても開きっぱなしになります。
これは橋の動作時間中の為にOFF信号が無視されるために起きる現象です。
しばらく待ってから、もう一度レバーを動かしてやれば良いのですが、
めんどくさいので自動化します。
# # ┌┐D^┌┐# #┛│ ^┏# #└┘─X└┘ # # ↑ 上^:感圧板1、出力1 右^:感圧板2、出力2 D :ドア、入力用レバー、感圧板1とリンク X :水門、感圧板2とリンク
動作解説
- 準備状態としてドア、水門ともに閉じた状態で左のループをカートが回っています
- 外部トリガーとしてレバーが引かれる
- 即座にドアが開き、カートが右のループに移動。
この時、感圧板1より出力(例えば橋)にON信号。 - 続いて右の感圧板2も反応し、水門にON信号。
出力(例えば橋)にもON信号が送られるがこれは動作中のため無視される。 - およそ100STEP後、感圧板1が復帰してドアにOFF信号。(もし開いていれば)即座にドアが閉じる。
出力(例えば橋)にもOFF信号が送られるがこれは動作中のため無視される。 - 続いて感圧板2の信号の水門動作が終了してカートが右のループに移動。感圧板2が反応条件を満たさなくなる。
- 更に100STEP後、感圧板2が復帰して出力(例えば橋)にOFF信号。
初めのON信号より200STEP経過しているので橋は反応する。 - 更に100STEP後、水門が閉じ、準備状態に戻る。