![見出し画像](https://assets.st-note.com/production/uploads/images/128314062/rectangle_large_type_2_c18b0d0870a8dc11669f980598658208.jpeg?width=800)
【Minecraft】信号の比較をするレッドストーン回路
入力された信号の強度を比較し、等しいかどうかを判定するレッドストーン回路を4種類、簡易版の回路を1種類紹介します。
前知識
コンパレータによる信号検出
コンパレータは様々なブロックの情報を検知し、信号の強度として出力することができます。
例えば、不透過ブロックの裏側に設置された額縁のアイテムの向きを、強度0~8として出力します。
![](https://assets.st-note.com/production/uploads/images/128314481/picture_pc_893987a69241d246366c0250b5253226.gif)
コンパレータの二つのモード
コンパレータは右クリックすることで「比較モード」と「減算モード」を切り替えることができます。
減算モードかどうかはランプの点灯で判別できます。
比較モードでは、入力が横の信号の強度以上ならば入力そのままを出力し、そうでなければ出力されません。
減算モードでは、入力から横の信号の強度を引いた強度の信号を出力します。マイナスになることはありません。
![](https://assets.st-note.com/img/1705817639778-PzzhBYnios.jpg?width=800)
回路
比較回路A
入力A(赤いウール)と入力B(黒いウール)の信号を比較し、等しくなければ出力します。
真ん中のレッドストーンの強度は c = max(a, b) ですので、output = max(c - a, c - b) となります。これは a と b の差の絶対値です。
![](https://assets.st-note.com/img/1705817741037-vqrpdF9KDI.jpg?width=800)
入力が等しければランプが消えます。
![](https://assets.st-note.com/img/1705817791631-Xt1FVVQqhZ.jpg?width=800)
![](https://assets.st-note.com/production/uploads/images/128317723/picture_pc_575d03974580df75629cd801a85badf8.gif)
![](https://assets.st-note.com/production/uploads/images/128317724/picture_pc_b5c56c378cb5e8b3be7900f30c280005.gif)
比較回路B
入力A(赤いウール)と入力B(黒いウール)の信号を比較し、等しくなければ出力します。
このパターンでは二箇所から出力が取れます。また、入力のレイアウトにも少し自由があります。
これも同様に真ん中のレッドストーンの強度が c = max(a, b) で、output = max(c - a, c - b) となります。これは a と b の差の絶対値です。
![](https://assets.st-note.com/img/1705819071830-zLHhXynTR9.jpg?width=800)
こちらも入力が等しければランプが消えます。
![](https://assets.st-note.com/production/uploads/images/128320015/picture_pc_4439f2458419c182e05126f94be442c1.gif)
![](https://assets.st-note.com/production/uploads/images/128320016/picture_pc_a98cfeeebf7c7e7c2de62896741e3dc0.gif)
簡易比較回路C
入力A(赤いウール)と入力B(黒いウール)の信号を比較し、等しくなければ出力します。
このパターンでも二箇所から出力が取れますが、普通のブロックではレッドストーンダストが繋がらないので、リピーターか的ブロックを使う必要があります。
また、入力のレイアウトにも少し自由があります。
![](https://assets.st-note.com/img/1705819403834-I9IrSGwmL7.jpg?width=800)
ただし、この回路は厳密には比較ではなく、b-(a-1) が 1 以外の時に出力する、という簡易回路になっています。
そのため、a が 0 と 1 の場合を区別できません。
![](https://assets.st-note.com/production/uploads/images/128321568/picture_pc_33dab2e25a2c25ab3ef3c730f5b113df.gif)
入力Bにはそのような制限はありません。
![](https://assets.st-note.com/production/uploads/images/128321801/picture_pc_0ba81404743c48c0a56147c0a630ea04.gif)
それ以外は、比較として使用することができます。
![](https://assets.st-note.com/production/uploads/images/128320556/picture_pc_8fc45d93f23427cf432693c3d024cfe8.gif)
![](https://assets.st-note.com/production/uploads/images/128321968/picture_pc_f39d2e1a6dce7ffbd996729ee748411d.gif)
比較回路D
入力A(赤いウール)と入力B(黒いウール)の信号を比較し、等しくなければ出力します。
レイアウトの自由は少ないですが、シンプルで作りやすいです。
設定したパスワードを入れないと開かないドアなどを作る時に重宝します。
![](https://assets.st-note.com/img/1706153260455-14nliSxYa7.jpg)
![](https://assets.st-note.com/img/1706153273150-8g2onb6WGj.jpg)
![](https://assets.st-note.com/img/1706156340480-UjD4pLG1uP.jpg)
![](https://assets.st-note.com/production/uploads/images/128722849/picture_pc_dd653f7a23b086ed42cf96f585d621c7.gif)
比較回路E
入力A(赤いウール)と入力B(黒いウール)の信号を比較し、等しくなければ出力します。
出力は普通に置くと繋がらないので、リピーターや的ブロックを使う必要があります。また、レッドストーンダストを置いたブロックにトーチを差して下方向に出力することもできますので、かなりレイアウトの自由があります。
![](https://assets.st-note.com/img/1706156766300-yhrzOtD5Mk.jpg)
![](https://assets.st-note.com/img/1706156775539-PAUSL4stVz.jpg)
![](https://assets.st-note.com/img/1706156797438-sUP2mLsWJg.jpg?width=800)
![](https://assets.st-note.com/production/uploads/images/128722929/picture_pc_baf456d91d8bbd52c63e37f8978fdb46.gif)
まとめ
入力された二つの信号の強度を比較する5つの回路を紹介しました。
回路Aは入力の差の絶対値を出力します。比較は厳密ですが、回路が大きく、レイアウトの自由が低いです。
回路Bは入力の差の絶対値を出力します。比較は厳密で、回路もそれなりにコンパクトです。
簡易回路Cは簡易的に比較を行い、差がある場合は1 を出力します。
「入力Aの信号の0と1を区別できない」という制限がありますが、それさえ気をつければ回路もコンパクトでレイアウトの自由度も高いです。
回路Dは入力をシンプルに比較します。コンパクトで、仕掛けなどに最適です。
回路Eも入力をシンプルに比較します。こちらも仕掛けに使いやすいです。
改訂履歴
2024/01/21
初版
2024/01/25
回路D、回路Eを追加
この記事が気に入ったらサポートをしてみませんか?