Scratch入門:もし~なら?キャラクターに判断させる「条件分岐」をマスターしよう

前回の記事では、同じ動きをラクにさせる「繰り返し」を学びました。これで、キャラクターをスイスイと歩かせることができるようになりましたね。

でも、ずっと同じ方向に歩くだけでは、目の前に分かれ道があったときに困ってしまいます。
「右に道があるなら右へ行こう」「行き止まりだから引き返そう」…… そんな風に、状況に合わせて「もし○○だったら、こうする」とプログラムに判断させる仕組みを、Scratchでは「条件分岐(じょうけんぶんき)」と呼びます。

今回は、新しい相棒のTatiana(タチアナ)と一緒に、プログラムに「道を選ぶ力」を持たせてみましょう。

目次

「もし~なら」ブロックを使ってみよう

Scratchの「制御」グループの中に「もし<>なら」という真ん中に口が開いたワニのような形のブロックがあります。

この<>という六角形のすき間に、判断のルール(条件)をガチャンと嵌め込んで使います。
今回は「キーボードの右向き矢印が押された」という条件を入れてみましょう。

Y字路で「どちらの道に進むか」を判断させよう

ステージに、上が二股に分かれた「Y字路」を用意しました。Tatianaのスタート位置は、画面の一番下(X:0、Y:-170)です。
ここから上へトコトコと歩き出し、分かれ道に来たときに「どちらへ行くか」を判断させてみます。

「もし右向きキーが押されたなら、右へ」。
Tatianaが自分の意志で道を選んでいるように見えますね!
「もし左向きキーが押されたなら、左へ」。
Tatianaが自分の意志で道を選んでいるように見えますね!

Tatianaは左右の足を交互に出すコスチュームを持っているので、移動に合わせて「次のコスチュームにする」を使うと、より一生懸命歩いている雰囲気が出せますよ。

「条件分岐」を図解(フローチャート)で見てみよう

この「道が分かれる」仕組みを、図解で確認してみましょう。

まさに今回のY字路そのもの!条件という「看板」を見て、
進む方向を決めているイメージです。

一本道(順次)だったプログラムに、「もしも」という分かれ道ができることで、一気にゲームらしい複雑な動きが作れるようになります。

「そうでなければ」でもっとスマートに!

「もし右向きキーが押されたなら」のパワーアップ版、「もし~なら、でなければ」というブロックも使ってみましょう。

これを使うと、「右が押されたら右へ行く、そうでなければ(右以外なら)左へ行く」という、2通りの動きを一つのセットで指示できます。

ワニの口の中には「歩く」ブロックが入る
「もし<右向きキーが押された>なら[右へ]、
でなければ[左へ]のブロック構成図

これなら、迷うことなくスムーズに分岐処理ができますね。プログラムもスッキリして見やすくなります。

まとめ:世界は「もしも」でできている!

今回は、プログラムに判断をさせる「条件分岐」について学びました。

  • 「もし~なら」:条件に合う時だけ、中身を実行する
  • 「でなければ」:条件に合わない時の動きも一緒に決める

これで、キャラクターを自由に操るための「3大要素(順次・繰り返し・分岐)」がすべて揃いました。

ですが、本格的なゲームを完成させるには、あと少しだけ必要な道具があります。

例えば、「今のスコアは何点?」「残り時間はあと何秒?」といった数字を、Tatianaに覚えておいてもらうための魔法の箱…… それが「変数(へんすう)」です。

次回は、ゲームに「勝敗」や「やり込み要素」をプラスする、この便利な箱の使い方についてお話しします。
お楽しみに!

この記事の終わりに

当工房「DESIGN工房エトワ」では、このプログラミング講座で解説しているような「論理的な設計(順次・分岐・反復)」の思考をベースに、裏側の仕組みまで丁寧に作り込むホームページ制作・Webデザインを承っています。

  • 「見た目がきれいなだけでなく、目的のページへ迷わずたどり着ける動線のしっかりしたサイトを作りたい」
  • 「セキュリティや管理の面でも安心して長く運用できるホームページが欲しい」

そんな個人事業主様や企業様の想いをカタチにします。

ホームページ制作の新規立ち上げやリニューアルのご相談は、お気軽に下記のお問い合わせフォームよりご連絡ください。

目次