条件分岐を使ったタスク | Scrachとロボットプログラミング

2023年12月31日

入力されたキーボードの文字によってさまざまな動きをするロボットプログラミングを行います。スクラッチ(Scratch)にはキーボードの入力を受け付けその文字を判定する方法が2つありますが、今回は単純に条件分岐を使う方法で実行します。

キーボードを判定するコマンド

スクラッチでのキーボード文字を判定するコマンドは、コードー調べるの中にあります。

このコマンドと、コードー制御の中にある「もし~ならば」のコマンドを組み合わせます。

たとえば、「もしスペースキーが押されたらこんにちわとしゃべる」ロボットプログラムを作りたいとするのであれば制御の部分は下記のようになります。

しかしこのプログラムは1回クリックすると瞬間的に終わってしまうためキーボードが押されたことを検知することができません。
そのため、この「スペースキーが押された」という判断ブロックを使うためには、常にパソコンがキーボードを押されることをまってなくてはいけないことになります。

ずっとで囲む

もっとも簡単な方法としては、「ずっと」で囲んでしまうことです。
下記のプログラムを作って実行してみましょう。
スクラッチはここから実行できます。

ロボットをお持ちでない場合は下記のプログラムに変更しスプライトに喋ってもらいましょう。

いくつかのキーボードを判定してみましょう

それでは、いくつかのキーボードを判定してみましょう。

このプログラムの欠点は、ずっと判定ルーチンが回っているため、たまたまキーボードを押したタイミングで判定処理があたると版のしてくれるのですが、当たらなかった時には判定してくれないところです。
そのため判定が非常に鈍いプログラムになっています。

これを回避するために….

~までまつ

スクラッチには~まで待つという下記のようなブロックがあります。


このブロックを使いキーボードがどれか押されるまで待って、押されたら判定するというプログラムに変更すると反応はもっと敏感になります。

クムクムロボットと連動させてみよう

それではせっかくなのでロボットの動きと連動させるプログラムを作ってみます。
ここでは、実際のロボットを使わずに3Dロボットで作ってみましたが、もしクムクムロボットを手元にお持ちであれば、実際にロボットを動かすとてもライブ感あるプログラムが完成します。

楽しんでみてください。