リピーターやオブザーバー、ピストンなどの挙動を詳しく解説!【第2回応用レッドストーン講座】

今回は、いよいよ回路を作って解説…と行きたいところですが、その前にリピーターやオブザーバー、ピストンなどの細かい動きについて触れていきます。


反復装置(リピーター)

リピーターは初級講座の方にもあるとおり、信号を遅延させるものです。しかし、例外的な動きをする場合もあって、単純に入力された信号をそのまま遅らせて出力する訳では無いのです。

まず、最大遅延(4遅延)のリピーターに1tickのパルス信号を入力した時の挙動を見ていきましょう。

実は、このように1tickのパルス信号が入力されてから4tick後に4tickの長さの信号を出すんです。入力を2tick,3tickにしても出力は変わらず、4tick以上の長さで入力した時は単純に入力されたままの形で遅延させて出力します。

では、次に一瞬だけoffになる信号を入力するとどうなるか見ていきましょう。画像は最大遅延リピーターを使い、それぞれ1tick,4tickだけoffにした場合の挙動です。

このように、1tickのoff信号を入力しても出力には関わらないのです。2tick,3tickにも同じ事がいえて、4tick以上は入力のままの形で4tick遅らせてて出力します。

要するに、遅延数よりも短いonもしくはoffのパルス信号が入力された時に例外的な動きをします。onのパルス信号が入力された時の出力は遅延数分の長さになり、offのパルス信号が入力された時の出力はonのままになります。

観察者(オブザーバー)

オブザーバーは目の前のブロックの変更を検知してから2tick後に、1tickのパルス信号を出すものです。※java版では1tickですが、統合版では2tickなのでそれで進めます。

しかし、リピーターと同様に上手くいかない場合もあります。

画像のように、高速で目の前のブロックを変え続けても、2tickおきにしか信号を出さないのです。これは、画像中の赤い曲矢印の部分の変化しか検知してないためにおこります。

まとめると、オブザーバーはブロックの変化を検知してから2tick後に1tickの長さの信号を出し、その次のtickから検知を再開するという事です。オブザーバーから出る出力は常に1tickの長さの信号なのでそれも覚えておきましょう。

ピストン

ピストンの遅延についてはあまり知られていない印象ですが、実はかなり厄介な性質を持っています。

まず基本として、ピストンは伸びる時に2tickかかり、縮む時には遅延はかかりません。

ここまではjava版と共通なのですが、統合版ではリピーターやトーチ、コンパレーターやオブザーバーなどの遅延を起こすブロックを通さずに信号を与えると、伸びる/縮む前に1tickの遅延が発生します。

もう少し細かく言うと、ピストンやプレイヤーの動きがもとで発生した信号によってピストンがすぐに動かないように、無遅延で接続された場合は1遅延発生するようになってます。


次回は、冒頭にも話した通り実際に回路らしい回路を作って解説していきます。

最後まで読んでいただきありがとうございました。記事の内容とは直接関係があってもなくても、質問や要望があれば下のコメント欄へお願いします。それでは。


前回↓

次回↓