[scratch] 論理演算を使ったスプライトの移動

スプライトをキーボードで操作するコードは、以下のようなものが良く使われると思います。

ただこれ、分りやすくはあるのですが…

似たような部分が多いし、もっと簡単にならないの?と思わないでしょうか。
とりあえず思っている前提にします。(笑)

このコード、論理演算を使うことで簡単になります!

論理演算とは、真(true)を1、偽(false)を0として計算することです。

例えばこのブロックを、上矢印を押しながらダブルクリックしてみてください。

1になりますね。このブロックは「上向き矢印キーが押された」と「0」を足す計算を行いますが、前者は上矢印を押しているためtrueです。trueは1として計算されることになっているため、このブロック全体は1となるんです。

この特徴を使うと、冒頭のコードを以下のように短縮することが出来ます。

ぱっと見どういう動きになるか分かりづらいかもしれませんが、たとえば「上向き矢印キーが押された」場合はどういう計算になるかを具体的に考えていくとだんだんと分かってくると思います。
もっと短くして1行にすることもできますが、コードが横に長くなってしまうのでこれくらいがちょうどいいかなと思います。

論理演算が使えるようになるとプログラミングの幅が広がりますので、ぜひ覚えておいてください!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です