「ビスケット(Viscuit)」の作品を色々みていると
とても複雑そうなゲームを見かけることがあります。
「どうやっているのだろう?」と調べてみると、
「割れたメガネ」というものを使っていることが分かりました。
なにその裏ワザチックな機能!?
さっそく、割れたメガネを使ってプログラムを作ってみることにしました。
この記事では、
「割れたメガネ」で出来ることと、使い方を紹介します。
ビスケットが初めての方は、こちらの記事をお読みください。
ビスケットの「割れたメガネ」とは
レンズ部分が上下2つに分かれているメガネのことです。
上半分が白、下半分がグレーになっています。
(3分割にすることもできます)
上部分と下部分の位置は関係なく判断され、
左側の上部分の状態かつ、下部分の状態だっとき、
右側の状態に変化します。
難しい言葉でいうと、
メガネの上下は「論理積(AND)」でつながっている状態です。
文章を読んだだけでは「???」だと思います。
(私の語彙力ではこれが限界…)
割れたメガネの使い方の後、
割れたメガネを使ったプログラムを紹介しますので
そちらでイメージをつけてみてください。
「割れたメガネ」の使い方
※「ひとりでつくる」で使える機能です。
- メガネをメガネ置き場に置く。
- メガネの真ん中にある矢印を長押しする
マウスの場合は矢印にカーソルを合わせ、左ボタンを長押しする。
長押しを2回すると3分割になって、
もう1回長押しするとふつうのメガネに戻ります。 - 部品を置く
メガネの上下に部品を置いていきます。
画像の一番下のメガネの命令
上:電球がついていないとき
下:スイッチ(オフ)をおすと
右側
上:電球がつき、
下:スイッチがオンになる
割れたメガネを使ったプログラム
百聞は一見に如かず、実際のプログラムを見てみましょう。
プログラムは【こちら】
①~③それぞれスイッチがあり、
1マス上と離れた場所に、電球があります。
②は「2分割の割れたメガネ」
③は「3分割の割れたメガネ」
実際に動かしてみましょう。
ふつうのメガネ・・・①
結果
スイッチをおすと、1マス上の電球はつきますが
離れた電球はつきません。
メガネ
オンになっているスイッチの
1マス上にある電球がついていないとき
右側
スイッチの1マス上にある電球をつける
オフになっているスイッチの
1マス上にある電球がついているとき
右側
スイッチの1マス上にある電球をけす
ふつうのメガネは、位置関係も判断しているので
電球とスイッチの位置関係がメガネと違っていると、
電球はつきません。
2分割のメガネ・・・②
結果
スイッチをおすと、
1マス上の電球と離れた電球
両方つきました。
メガネ
上:電球がついていない かつ
下:スイッチがオンのとき、
右側
上:電球をつける
下:スイッチはオンのまま
上:電球がついている かつ
下:スイッチがオフのとき、
右側
上:電球をけす
下:スイッチはオフのまま
上下に割れたメガネは、上と下別々で判断されます。
なのでスイッチと電球が離れていても電球がつきます。
3分割のメガネ・・・③
結果
紫と赤、両方のスイッチをオンにすると
1マス上の電球と離れた電球、
両方つきました。
メガネ
上:電球がついていない かつ
左:紫のスイッチがオン かつ
右:赤のスイッチがオンのとき、
右側
上:電球をつける
左:紫のスイッチはオンのまま
右:赤のスイッチはオンのまま
上:電球がついている かつ
下:紫のスイッチがオフのとき、
右側
上:電球をけす
下:紫のスイッチはオフのまま
上:電球がついている かつ
下:赤のスイッチがオフのとき、
右側
上:電球をけす
下:赤のスイッチはオフのまま
2分割と同様、3つのエリア別々で判断され
電球、紫のスイッチ、赤のスイッチがバラバラの場所でも
電球がつきます。
また、どちらかのスイッチがオンでも
もう片方がオフの場合、電球はつきません。
これは、メガネの分かれたエリアが
「論理積(AND)」でつながっているからです。
メガネの左側の全てのエリアの条件を満たしたとき、
右側の状態に変化します。
※サンプルで試す場合は、下2つのメガネを消してくださいね。
スイッチがオフの場合、電球を消してしまう命令なので…
メガネ一覧
部品
- 電球(オン)×3コ
- 電球(オフ)×3コ
- スイッチ(オン)×4色
- スイッチ(オフ)×4色
メガネ
ふつうのメガネ
2分割の割れたメガネ
3分割の割れたメガネ
スイッチのオン/オフ
まとめ
- メガネの真ん中にある矢印を長押しすると「割れたメガネ」になる。
- 割れたメガネは分かれたエリアの状態が離れていても、
部品を変化させることができる。 - 分かれたエリアは「論理積(AND)」でつながっている。
言葉の説明だけだと分かりにくいと思います。
実際に割れたメガネに部品をおいて、イロイロと試してみてくださいね。