先日は、
にて、抽選機を作ってみました。
のような構造になりますが、これに、
の世にアイテムを入れると、
のような感じで動作します。ラージチェストでインベントリチェックを行っており、空の状態でボタンが押された時のみ動作する構造なので、アイテムが抽選されてチェストに入るとボタンを押しても反応しません。
のようにレッドストーンブロックを仕上げる帰庫に接続し、
のようにレッドストーンブロックが押し上げられると、ランプが点灯するようになっています。インベントリチェックを行った信号は、そのまま出すと、チェストにアイテムが入っていると信号が出るので、反転させるためにNOT回路に接続します。そして、
のようにNOT回路を介してAND回路に接続します。これで、条件判定における 【 ラージチェストが空の場合 】 に信号が出るような仕組みになります。AND回路のもう一方は、
のボタンから得るので、
のように引っ張ってきて
な感じで繋ぎます。この信号を、
のように引っ張って分岐させて二段で信号を送ることドロッパーからアイテムを射出し、その後停止用の信号を送ります。ドロッパーは二度の信号でワンセットなので、分岐させて信号を送っています。
前回はこんな感じの回路を作りましたが、今回は、ピストンを使った簡単なドアを使った開閉条件の構築について書こうかなともいます、
ピ ストンで開く扉を作る
粘着ピストンを使った場合、ブロックを引き戻せるので、
のような並びにすると扉のような物を作ることができます。簡素な作りだと、
のようにトーチで信号を上げて下にワイヤーを配置した物を作り、
のような感じで粘着ピストンの上に感圧版を置いて、レッドストーンブロックを押し出すとワイヤーに信号を送れるので扉の開閉ができます。
とりあえず、
のような感じで、レッドストーンブロックの押し出される横にワイヤーを配置しておくと、信号がが慣れるので、それをリピーターで離縁を入れて、トーチタワーで信号を上に上げます。この状態だとトーチは独立しているのですが、上のブロックには信号が行くので隣接したピストンが伸びます。そして、その上にレッドストーンパウダーを引くと信号が伝達されるので、この構造にするとピストンが伸びます。
下から見てみると、
のようにレッドストーンの押し出される先にパウダーがあり、そこからまっすぐ引っ張られており、左右に遅延を入れたリピーターを配置しており、遅延を入れています。遅延を入れた後に信号を強くしてトーチに向かって信号を送ります。
信号自体は、パウダーからリピーターに繋がっており、そこからパウダーでトーチに信号を送り、上のブロックに伝達しています。これがシンメトリーに配置されています。横から見た場合もシンメトリーになりますが、この構造にすると、感圧版を踏むと扉が開く構造になります。
とりあえず、実際に使う場合には、
のような感じになります。
開 閉の条件を付加する
構造物は 【 OOをするとXXになる 】 と言う条件で動作しますが、前述のドアの場合、【 感圧版を踏むと扉が開く 】と言う物になっています。つまり、
■ 条件判定 : OOをする
■ 処 理 : XXになる
と置き換えることができます。先ほどの条件は、感圧版による信号なので、これはレバーでも同様の処理ができます。レバーの処理についてはラッチを使った別の処理もありますが、スイッチやレバーの部類とは別の条件で回路を動かすことができます。
のようにレッドストーンを押し出す機構を横方向に配置して、
のような構造にして、
のようにインベントリチェックを入れた場合、
のようなイテムを入れると、
のように扉が開きます。つまり、ボタンやレバーや感圧板ではなく、アイテムの有無で動作する回路を作る場合にはインベントリを持つブロックにコンパレーター(比較器)を用意して信号を得る必要があります。リピーター(反復装置)は信号の増強用ですから、このセットで使うと、信号をそのまま送ることができます。
■ AND回路を使う
前回の
でも登場したAND回路ですが、扉の開閉の二条件を付けたい場合にも使用できます。例えば、
のように先ほどの回路にAND回路を実装して、ボタンを条件に包含します。すると、
のようにアイテムを入れると、
のようにAND回路の片方に信号はいきますが、ピストン自体には信号が届いていません。この時に、
のようのボタンを押すと、両方のトーチがオフになり、信号が流れるので、画像のようにピストンが動きます。そしてボタンが押されていない状態では
のようにピストンが戻るので扉が閉まります。
■ OR回路を使う
では、先ほどの回路を、
のよにして、インベントリチェックをお行う機構を増やしワイヤーを合流させるとどうなるでしょうか?
この場合、
のいずれかで信号が出るので、つながったもののいずれかの物から信号が得られれば、条件を満たしたことになります。このワイヤーを合流させると 【 OR回路 】 と同じ挙動になります。
■ 回路の複合
複数の条件を満たさなければならない場合だと、回路を組み合わせて使用することになります。
の回路では、赤と青のレバーをオンにして、2つあるチェストのいずれかにアイテムを入れて、ボタンを押さないと扉が開かない回路になります。
■ 特定の周期で開閉する
前述の条件は、インベントリチェックとレバーやボタンの組み合わせでしたが、周期を持たせて開閉させることもできます。
のような感じでホッパータイマーを作り、
のように接続すると特定の周期で動作するようになります。ホッパタイマーのホッパーの中に
な感じでアイテムを入れると、ホッパーはアイテムのある側から空のホッパーに向かってアイテムを移送します。その為、
のように動作します。このレッドストーンブロックから信号を得るので、
のように動作します。
■ 複合的な物
これらを組み合わせると、
のような物も作れるのですが、これは、アイテムが入っている条件で、ランプが光った時にボタンを押すと扉が開くという回路です。
今回は、処理自体が簡素な扉の開閉を使っていますが、挙動においても条件式をどう組むかによって全く異なる挙動の設定が可能になります。
とりあえず、今回は、
のようなものを作ってみました。
この回路のそれぞれの動作についてですが、
のような感じになります。